Laravel:查询构建器如何处理 - > first()?

时间:2015-06-18 14:33:41

标签: php laravel query-builder

查询构建器如何处理->first()

它只是执行Limit 1还是执行某些高级检查以确定是否只返回1行?

在极少数情况下,应用程序可能希望确保仅返回1行。也许->first()不是最佳解决方案?

非常感谢任何见解或指导!

1 个答案:

答案 0 :(得分:7)

如果找不到结果,CASE方法将始终返回一个结果或DECLARE @Gender VARCHAR(10) SET @Gender = 'Female' WITH queryResult AS ( SELECT * FROM Employees WHERE Age >= 50 AND Status = CASE WHEN @Gender = 'Male' THEN 'Single' ELSE 'Married' END ) SELECT * FROM queryResult; 。以下是它的全部内容:

first()

仅使用null(或public function first($columns = array('*')) { $results = $this->take(1)->get($columns); return count($results) > 0 ? reset($results) : null; } )的区别在于它实际上只是通过调用take(1)返回一个结果对象。 (另外,limit(1)显然执行查询。其他人不执行查询。