How does the query builder handle ->first()
?
Does it simply do a Limit 1
or does it do some advanced checking to make sure if only 1 row is returned?
In rare cases, the application may want to ensure that ONLY 1 row will be returned. Perhaps ->first()
is not the best solution?
Any insight or direction is greatly appreciated!
The
first()
method will always return one result ornull
if no results are found. Here's all it does:The difference to just using
take(1)
(orlimit(1)
) is that it actually just returns one result object, by callingreset()
. (Also,first()
obviously executes the query. The others don't)