Решено-Опитва се да получи собственост на обект-Laravel

Solved Trying Get Property Non Object Laravel



Проблем

Опитвам се да повторя името на потребителя в моята статия и получавам | _+_ |. Моите кодове:

Модели

1. Новини







класНовиниразширяваМодел
{
обществен функцияПубликувано от()
{
връщане $ това->принадлежи на(„Приложение Потребител“);
}
защитени $ таблица = 'Новини';
защитени $ запълване = ['newsContent', 'newsTitle', 'Публикувано от'];
}

2. Потребител



класПотребителразширяваМоделприспособленияAuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
използвайтеПодлежащи на удостоверяване,Разрешаващо се,CanResetPassword;

защитени $ таблица = „потребители“;

защитени $ запълване = ['име', 'електронна поща', 'парола'];

защитени $ скрит = ['парола', 'запомни_токен'];

}

Контролер

обществен функцияshowArticle($ охлюв)
{
$ статия =Новини::където('охлюв', $ охлюв)->firstOrFail();
връщанеизглед('статия', компактен ('статия'));
}

Острие

{{ $ статия->Публикувано от->име }}

Когато се опитвам да премахна име в острието | _+_ | извежда | _+_ |, но когато се опитам да добавя -> името там, пише | _+_ | но имам име на поле в таблицата си и | _+_ | модел. Изпускам ли нещо?



Решение

Връща ли вашата заявка масив или обект? Ако го изхвърлите, може да откриете, че това е масив и всичко, от което се нуждаете, е достъп до масив ([]) вместо достъп до обект (->).





Второ мнение

$ статия->постер->име

да се

$ статия->постер['име']

Следващото е да добавя втори параметър в my belongTo, от



връщане $ това->принадлежи на(„Приложение Потребител“);

да се

връщане $ това->принадлежи на(„Приложение Потребител“, 'user_id');

в която | _+_ | е моят външен ключ в таблицата с новини.