Я не могу подключиться к функции модели в laravel 5.6
<img src = "{{$item->file_id ? $item->photo->file_url() :
"http://www.ecmsnews.com/wp-content/themes/nucleare-pro/images/no-image-box.png"}}"
width = "200" height = "100">
здесь я вызываю $ item file_id, чтобы найти изображение
public function photo(){
return $this->belongsTo('App\Models\CRM_STAFF\Staff_files', 'file_id');
}
что у меня есть в модели для подключения к другой модели, чтобы использовать эту функцию
public function file_url(){
return ($this->_domain).($this->id);
}
но я получаю такую ошибку введите описание изображения здесь
Подключите отладчик, найдите $ item, возвращающий ошибку, убедитесь, что идентификатор файла существует в таблице, представляющей Staff_files. Вероятно, вам понадобится лучшая проверка ссылочной целостности на вашем FK.
не было бы лучше проверить, существует ли связь, а не существует ли file_id? т.е. $item->photo ? $item->photo->file_url() : "http://www.ecmsnews.com/wp-content/themes/nucleare-pro/images/no-image-box.png"
@SteveNosse $ item-> photo-> file_url () - это $ item-> model-> model
@Devon $ item-> file_id имеет [932]
@AhmadUsmanov, я не говорил, что не было идентификатора файла. Я сказал, убедитесь, что идентификатор файла существует в связанной таблице. \
@MattJameson извини, но как это проверить? Если нет, что мне делать?
@Devon это точно существует
@MattJameson Я получаю ту же ошибку, что и на фото под проблемой
@AhmadUsmanov, значит, у вас неправильные отношения. Ключи совпадают?
@Devon, это проблема, ключи совпадают на 100%, но нет соединения
попробуйте указать оба ключа в отношении отношения, а не только внешний ключ
Можете ли вы добавить и foreign_key, и local_key при определении отношения и протестировать его?






добавьте with('photo') в модель, чтобы загрузить отношение. затем проверьте, не является ли $item->photo нулевым
$item = Item::with('photo')->where(...)->get();
return view('yourview', compact('item'));
тогда в представлении
<img src = "{{!is_null($item->photo) ? $item->photo->file_url() : "http://www.ecmsnews.com/wp-content/themes/nucleare-pro/images/no-image-box.png"}}" width = "200" height = "100">
Активная загрузка необязательна, и ее использование в сочетании с first () совершенно не нужно.
Спасибо за совет, сэр, но я думаю, вы неправильно понимаете проблему, которую я проверяю на null, но поле не является нулевым, и я думаю, что я не могу соединить 2 модели друг с другом
Спасибо всем, кто хотел помочь Я нашел ответ проблема заключалась в том, что я сохранял все файлы с помощью Json_encode, мне нужно было просто его декодировать
File_url () объявлен в модели фотографии? если нет, то где это заявлено?