H.F*_*her 6 database orm relational-database laravel access
在laravel我们可以通过使用DB::table('table')->get();或使用model::('table')->all();
我的问题访问它们之间的区别是什么?
谢谢.
您可以这样做,因为Model并且DBFacade都实现了产生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带有预先指定的信息(例如表),并且还为其提供事件,关系信息,特定的静态绑定以及一堆其他方便的帮助程序,这些帮助程序限制于对象并进行面向对象的编程更轻松。
因此,是的,您可以使用模型,然后获取查询Builder对象并更改其表(就像您可以更改有关的其他内容一样Builder),但是它正在与专门设计用于简化查询构建的系统进行斗争。
从本质上讲,Laravel所做的就是采用Symfony2框架并对其进行简化,从而使一切变得更加简单。模型就是这种情况的一个例子。