Dav*_*d B 1 php laravel laravel-5
当在Laravel中搜索应该是一个非常基本和常见的测试时,似乎存在很多关于如何正确检查天气或者模型是否存在的混淆,然后如果确实如此则对模型做一些事情.在通过stackoverflow,laracasts和laravel文档本身进行搜索时,它不再变得清晰.例如,如果我运行此查询,
$restaurant = Restaurant::find($input["restaurant_id"]);
Run Code Online (Sandbox Code Playgroud)
有各种堆栈溢出帖子可以让我检查count(),使用看起来不一致的exists()方法,或使用抛出异常的firstOrFail().我想做的就是像上面那样进行一次调用,检查$ restaurant是否是一个有效的模型,然后做一些事情.在我的情况下不需要异常,我不想在使用count()或exists()之后再次运行查询.该文档没有任何有用的信息,它允许返回4种不同的变量类型,而不提及哪种情况会触发哪种返回.有没有人对这个话题有很好的处理?
Eloquent - > first()if - > exists()
https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Builder.html#method_find
您无需运行任何其他查询.如果记录不存在,find()则返回null.您可以使用简单的if来检查:
if($restaurant = Restaurant::find($input["restaurant_id"]) {
// Do stuff to $restaurant here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2743 次 |
| 最近记录: |