【发布时间】:2015-02-22 10:43:57
【问题描述】:
在使用 laravel eloquent 模型时,get() 和 select() 方法有什么区别。哪种方法更快?
【问题讨论】:
在使用 laravel eloquent 模型时,get() 和 select() 方法有什么区别。哪种方法更快?
【问题讨论】:
是的,有区别。 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'))
【讨论】: