問題描述
我們?nèi)绾卧?Laravel 4 中創(chuàng)建一個(gè)新的 Eloquent 集合,而不使用查詢生成器?
How do we create a new Eloquent Collection in Laravel 4, without using Query Builder?
有一個(gè) newCollection()
方法可以被它覆蓋,它并沒有真正起作用,因?yàn)樗辉谖覀儾樵円唤M結(jié)果時(shí)使用.
There is a newCollection()
method which can be overridden by that doesn't really do job because that is only being used when we are querying a set result.
我想建立一個(gè)空的集合,然后用 Eloquent 對(duì)象填充它.我不使用數(shù)組的原因是因?yàn)槲蚁矚g Eloquent Collections 方法,例如 contains
.
I was thinking of building an empty Collection, then fill it with Eloquent objects. The reason I'm not using array is because I like Eloquent Collections methods such as contains
.
如果有其他選擇,我很想聽聽他們的意見.
If there are other alternatives, I would love to hear them out.
推薦答案
這并不是真正的 Eloquent,將 Eloquent 模型添加到您的集合中,您有一些選擇:
It's not really Eloquent, to add an Eloquent model to your collection you have some options:
在 Laravel 5 中,您可以從助手中受益
In Laravel 5 you can benefit from a helper
$c = collect(new Post);
或
$c = collect();
$c->add(new Post);
舊的 Laravel 4 答案
$c = new IlluminateDatabaseEloquentCollection;
然后你可以
$c->add(new Post);
或者你可以使用 make:
Or you could use make:
$c = Collection::make(new Post);
這篇關(guān)于如何在 Laravel 4 中手動(dòng)創(chuàng)建一個(gè)新的空 Eloquent Collection的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!