У меня есть это отношение в одном из моих классов модели:
public function userLike()
{
if (Auth::check()) return $this->hasOne('App\Like')->where('user_id', Auth::user()->id);
// RETURN NULL IF RECORD DOESN'T EXIST?
}
Как видите, он проверяет, вошел ли пользователь в систему, и возвращает запись Like
. Однако как я могу вернуть значение null, если запись не существует?
Я пробовал это:
public function userLike()
{
if (Auth::check()) return $this->hasOne('App\Like')->where('user_id', Auth::user()->id);
return null;
}
Но получаю ошибку:
local.ERROR: исключение «Symfony \ Component \ Debug \ Exception \ FatalErrorException» с сообщением «Вызов функции-члена addEagerConstraints () при нулевом значении» в / var / www / social / vendor / laravel / framework / src / Illuminate / Database / Красноречивый / Builder.php: 680
В качестве побочного вопроса, правильно ли я это делаю? Это правильный способ сделать это или есть лучший способ?