我可能对Eloquent感到困惑(再次...),但我认为这应该可行:
$test_row = Test::
where('status', 'active')
->where('condition2', 'value')
->orderBy('order', 'asc')
->first();
if($test_row->isNotEmpty())
return $test_row;
但这会引发以下错误:Call to undefined method App\Test::isNotEmpty()
。
通过使用first()
会返回口才模型吗?并且isNotEmpty()
和isEmpty()
应该可以在返回的模型上使用吗?
答案 0 :(得分:2)
您试图在模型对象而非集合上调用isNotEmpty(),当您使用first()时,它返回的对象不是集合。
使用
if($test_row)
{
return $test_row
}
答案 1 :(得分:1)
方法isNotEmpty()
实际上是由Laravels Collection类而不是Eloquent模型返回的。由于您不要求多个结果,因此仅返回模型而不是集合。
只需使用
if ($test_row) {
return $test_row;
}
检查查询是否有任何结果以及模型是否存在。