Laravel ownTo возвращает только идентификатор, а не весь объект

У меня сложилось впечатление, что когда я использую отношение ownTo в моей модели, оно вернет объект, но я, похоже, получаю только идентификатор. Это должно произойти и в чем выгода?

Это мой код:

Из моей фотомодели

public function album()
{
return $this->belongsTo('Album', 'album');
}

И мой PhotosController

$photo = Photo::find($id);
$album = $photo->album;
return 'albums/' . $album->folder . '/thumbs/' . $photo->file;

Не против возвращения, это только для тестирования. Я получаю ошибку:

Trying to get property of non-object

И var_dump() показывает, что все, что я получаю, это строка с идентификатором альбома

4

Решение

Пытаться:

return $this->belongsTo('Album', 'album', 'id');

где «id» — это имя соответствующего столбца в таблице альбомов

1

Другие решения

У меня такая же проблема. Я до сих пор не могу объяснить, что происходит. Если вы бросаете photoЯ полагаю, вы бы получили как идентификатор альбома, так и объект альбома в отношениях.

Поэтому я как-то понял это так:

$album = $photo->album()->first();
1

По вопросам рекламы [email protected]