gpt4 book ai didi

php - 使用 DB::table() 或 Model::all() Laravel 的 Eloquent

转载 作者:可可西里 更新时间:2023-11-01 00:29:55 24 4
gpt4 key购买 nike

我想知道为什么很多人使用 $users = DB::table('users')->get(); 而不是 $users = Users::all(); 在 Laravel 项目中?什么是原因?

问候

最佳答案

您可以这样做,因为 Model 和 DB facade 都实现了生成 Builder 实例的函数。

https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html

https://laravel.com/api/5.2/Illuminate/Database/Query/Builder.html

不同之处在于,Model 的实例具有使用预先指定的信息(如表格)设置 Builder 的属性,还为其提供事件、关系信息、特定静态绑定(bind)以及一堆其他方便的助手,这些助手约束对象和使面向对象的编程更容易。

所以是的,您可以使用一个模型,然后获取查询生成器对象并更改其表(就像您可以更改有关生成器的任何其他内容一样),但它正在与专门设计用于简化查询构建的系统作斗争。

从本质上讲,Laravel 所做的是采用 Symfony2 框架并对其进行精简,以便一切都变得更简单。模型就是这样的一个例子。

关于php - 使用 DB::table() 或 Model::all() Laravel 的 Eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com