在 Laravel 上我们可以使用以下方式访问DB::table('table')->get();
或使用model::('table')->all();
我的问题是它们之间有什么区别?
thanks.
你可以这样做,因为Model
和DB
外观都实现了产生一个的函数Builder
实例。
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html
https://laravel.com/api/5.2/Illuminate/Database/Query/Builder.html https://laravel.com/api/5.2/Illuminate/Database/Query/Builder.html
区别在于,实例Model
具有设置一个属性Builder
具有预先指定的信息,like表,并为其提供事件、关系信息、特定的静态绑定以及一堆其他方便的帮助器,这些帮助器约束对象并使面向对象编程 easier.
所以是的,您可以使用模型然后进行查询Builder
对象并更改其表(就像您可以更改有关Builder
),但它正在对抗一个专门设计用于使查询构建更容易的系统。
从本质上讲,Laravel 所做的就是采用 Symfony2 框架并对其进行简化,以便一切都变得更简单。模型就是这样的一个例子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)