«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему «ошибка пытается получить атрибуты, не связанные с авязи», появляется при доступе к имени пользователя в новостной статье Laravel 5?

Почему «ошибка пытается получить атрибуты, не связанные с авязи», появляется при доступе к имени пользователя в новостной статье Laravel 5?

Опубликовано в 2025-04-14
Просматривать:219

Why am I Getting

невозможно получить доступ к свойству объекта - Laravel 5

Описание выпуска

попытка отобрать имя пользователя из новостной статьи, в результате чего можно non on non -on non on onobject unobject unobject

ErrorException: Trying to get property of non-object
Models

News Class News Extends Model { публичная функция popustBy () { return $ this-> phorysto ('app \ user'); } } Класс пользователь Extends Model { Защищенный $ fillable = ['name', ...]; } ]

schema
ErrorException: Trying to get property of non-object

таблица: пользователи с «именем»

таблица: новости с столбцом «Опубликовано». вешечница ($ slug) { $ article = news :: where ('slug', $ slug)-> firstorfail (); return View ('article', compact ('article')); }
  • шаблон Blade
  • ]
{{$ article-> postryby-> name}}

объяснение

ошибка возникает из-за того, что запрос в контроллере (но news :: массив, а не объект. При попытке получить доступ к -> опубликовано в массиве, свойство не распознается, и ошибка выброшена.
ErrorException: Trying to get property of non-object
, чтобы решить проблему, вам необходимо преобразовать массив в объект, прежде чем получить доступ к имуществу -> pospulby. Это можно сделать, используя метод FindByslug на модели новостей вместо FirstOrfail ():

Public Function Showarticle ($ slug) { $ article = news :: findbyslug ($ slug); // возвращает объект return View ('article', compact ('article')); }

это позволит вам успешно получить доступ к свойству -> propledby на объекте и отобразить имя пользователя в шаблоне Blade.
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3