Laravel 5 雄辩的查询混淆

Posted

技术标签:

【中文标题】Laravel 5 雄辩的查询混淆【英文标题】:Laravel 5 eloquent query confusion 【发布时间】:2015-12-23 03:00:14 【问题描述】:

我对这些代码有什么区别感到有些困惑。我已经习惯用雄辩之类的了

$users = User::all(); 

//OR

$users = User::get(); 

但我有一些培训,我们的培训师使用 DB

$users = DB::table('users')->get() 

我的问题是哪个代码好用,哪个更快?

【问题讨论】:

看看这个答案***.com/a/34419196/4212912 【参考方案1】:

前两个需要一个雄辩的模型。后者没有。

雄辩的模型为您提供了更轻松的自定义选项。您可以在模型上设置软删除,而不必担心检查查询中的标志。

所以这取决于你想要多少抽象。

您当然应该选择其中之一。

【讨论】:

所以可以坚持使用 $users = User::all();比 $users = DB::table('users')->get() 因为它的短代码? 是的。 *如果您制作了一个匹配的雄辩模型。 嗨,在接受您的回答之前,您能告诉我使用 eloquent 模型的优势或我可以在您的回答中阅读的一些参考资料吗?谢谢你.. 它在文档中“注意:由于 Eloquent 模型是查询构建器,因此您应该查看查询构建器上所有可用的方法。您可以在 Eloquent 查询中使用这些方法中的任何一种。” laravel.com/docs/5.1/eloquent#introduction 还可以查看 Dean Tran 链接到的答案。

以上是关于Laravel 5 雄辩的查询混淆的主要内容,如果未能解决你的问题,请参考以下文章

雄辩的查询构建器laravel 5.6中的未知列

Laravel 雄辩的极限查询

laravel 雄辩的关系查询

Laravel 4 雄辩的查询

带有雄辩查询的 Laravel 分页

Laravel:自我 JOIN 的雄辩查询