Возникла проблема при выполнении этой команды
$data = \App\ReleaseData::whereReleaseId($release->id)->frist();
И это полный блок кода.
$releases = \App\Release::all();
$withOutDataReleases = [];
foreach ($releases as $release){
$data = \App\ReleaseData::whereReleaseId($release->id)->frist();
if (!$data){
array_push($withOutDataReleases, $release);
}
}
return response($withOutDataReleases);
class ReleaseData extends Model {// Моя логика модели в этом классе}
Используйте first () вместо frist ()
Похоже, это просто опечатка. Полагаю, функция должна быть first(). Также остерегайтесь проблемы n + 1 с вашим кодом!
Хорошо, спасибо, приятель .. Обнаружена ошибка .. орфографическая ошибка first (); :)
@Jerodev, как я могу улучшить этот запрос.
@ShehzadAslam, вам нужно проверить отношения Eloquent, особенно это: laravel.com/docs/5.6/eloquent-relationships#one-to-many






$data = \App\ReleaseData::whereReleaseId($release->id)->first();
frist должен быть first();
Проверьте свой метод, у вас есть неправильный метод, неправильное написание first() попробуйте
как это
App\Flight::where('active', 1)->first();
whereReleaseId ($ release-> id) -> first () на самом деле то же самое, что и .. where ('release_id', $ release-> id) -> first ()
@ShehzadAslam frist != first
$releases = \App\Release::all();
$withOutDataReleases = [];
foreach ($releases as $release){
$data = \App\ReleaseData::where('ReleaseId',$release->id)->frist();
if (!$data){
array_push($withOutDataReleases, $release);
}
}
return response($withOutDataReleases);
опубликуйте свой класс
ReleaseData