使用laravel eloquent模型时,get()和select()方法之间是否存在差异?哪种方法更快?
答案 0 :(得分:11)
是的,有区别。 select()
仅用于定义所需的列。 get()
用于实际获取结果(>执行查询),它还允许您指定列。
DB::table('foo')->select(array('bar'));
不会执行任何内容。您仍然需要get()
DB::table('foo')->select(array('bar'))->get();
现在您收到的结果只有bar
列
同样可以这样做:
DB::table('foo')->get(array('bar'));
所以语法明智 get()
单独更快(意味着更短),而性能明智,你不会注意到任何差异。
另一个小差异:使用select()
您可以使用列表语法
select('foo', 'bar', 'etc', 'whatever')
并且使用get()
您必须使用数组
get(array('foo', 'bar', 'etc', 'whatever'))