【发布时间】:2016-11-30 08:43:24
【问题描述】:
在 Laravel 中搜索应该是一个非常基本和常见的测试时,似乎对于如何正确检查天气或模型是否存在以及如果存在则对模型执行某些操作存在很多困惑。在通过 stackoverflow、laracasts 和 laravel 文档本身进行搜索时,它变得不再清晰。例如,如果我运行此查询,
$restaurant = Restaurant::find($input["restaurant_id"]);
有各种堆栈溢出帖子让我检查 count(),使用似乎不一致的 exists() 方法,或使用抛出异常的 firstOrFail()。我想要做的就是像上面那样运行一个调用,检查 $restaurant 是否是一个有效的模型,如果是,然后做一些事情。在我的情况下不需要异常,我不想在使用 count() 或 exists() 之类的东西后必须再次运行查询。该文档也没有关于此的有用信息,它允许返回 4 种不同的变量类型,而没有提及哪种情况将触发哪种返回。有没有人对这个话题有很好的了解?
Laravel checking if record exists
Eloquent ->first() if ->exists()
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_find
【问题讨论】: