我正在使用Laravel 5.5中试试这样......
try {
$fruit = Fruit::findOrFail($id);
}
但是我想检查一下,它不仅会找到带有提供ID的Fruit,而且还会检测到' red'
的fruit_color我是否需要使用''声明?
我知道我之后可以再运行一次检查,但是想知道我是否可以在一个声明中完成这一切?
答案 0 :(得分:1)
一些事情。首先,在这里抛出异常是处理'if'情况的错误方法。如果您计划的是不返回值的情况,那么这不是对异常的正确使用。回答你的问题:
$fruit = Fruit::where(‘id’, $id)->where(‘color’, ‘red’)->get();
这会返回符合条件的集合项目。接下来测试集合是否为空(没有水果),您可以执行以下操作:
if($fruit->isEmpty()) {
//handle empty collection
}
希望这有帮助!收集的Laravel文件踢了**。我建议在那里进一步阅读。
答案 1 :(得分:0)
您只需在调用find之前添加额外条件:
try {
$fruit = Fruit::where('fruit_color', 'red')->findOrFail($id);
}
答案 2 :(得分:0)
试试此代码
$fruit = Fruit::where(‘id’, $id)->where(‘color’, ‘red’)->first();