Меня, наверное, смущает 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(), он вернет модель Eloquent, верно? А isNotEmpty(), как и isEmpty(), можно будет использовать на возвращаемой модели?
->first() из объекта построителя запросов.






Вы пытаетесь вызвать isNotEmpty() для объекта модели, а не для коллекции, когда вы используете first(), он возвращает объект, а не коллекцию.
Использовать
if ($test_row)
{
return $test_row
}
Метод isNotEmpty() на самом деле возвращается классом Laravels Коллекция, а не моделью Eloquent. Поскольку вы не запрашиваете несколько результатов, вместо коллекции возвращается только модель.
Просто используйте
if ($test_row) {
return $test_row;
}
чтобы проверить, дал ли запрос какие-либо результаты и существует ли модель.
Eloquent может вернуть
nullпо запросу, если результат не найден.