Is there any Difference between get() and select() method when using laravel eloquent model. Which method is faster?
Yes there is a difference. select()
is only for defining which columns you want. get()
is for actually getting the result (> executing the query) and it also allows you to specify columns.
DB::table('foo')->select(array('bar'));
Will not execute anything. You still need get()
for that
DB::table('foo')->select(array('bar'))->get();
Now you receive a result with only the bar
column.
The same can be done this way:
DB::table('foo')->get(array('bar'));
So syntax-wise get()
alone is faster (meaning shorter) while performance wise you won't notice any difference.
Another little difference: with select()
you can use the list syntax
select('foo', 'bar', 'etc', 'whatever')
and with get()
you have to use an array
get(array('foo', 'bar', 'etc', 'whatever'))