Solucionat - Intentant obtenir propietats de no objecte - Laravel

Solved Trying Get Property Non Object Laravel



Problema

Intento fer ressò del nom de l’usuari al meu article i rebo el ErrorException: Trying to get property of non-object . Els meus codis:

Models

1. Notícies







classeNotíciess’esténModel
{
públic funciópublicat per()
{
tornar $ això->pertany a('Aplicació Usuari');
}
protegit $ taula = 'Notícies';
protegit $ emplenable = ['newsContent', 'newsTitle', 'publicat per'];
}

2. Usuari



classeUsuaris’esténModeleinesAuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
úsAutenticable,Autoritzable,CanResetPassword;

protegit $ taula = 'usuaris';

protegit $ emplenable = ['nom', 'correu electrònic', 'contrasenya'];

protegit $ amagat = ['contrasenya', 'record_token'];

}

Controlador

públic funcióshowArticle($ llimac)
{
$ article =Notícies::on('llimac', $ llimac)->firstOrFail();
tornarvista('article', compacte ('article'));
}

Fulla

{{ $ article->publicat per->nom }}

Quan intento eliminar el nom de la fulla {{ $article->postedBy }} emet el id , però quan intento afegir el nom -> hi diu Trying to get property of non-object però tinc un nom de camp a la taula i un User model. M'estic perdent alguna cosa?



Solució

La vostra consulta retorna matriu o objecte? Si la deixeu fora, és possible que trobeu que és una matriu i tot el que necessiteu és un accés a matriu ([]) en lloc d’un accés a objectes (->).





Segona Opinió

$ article->cartell->nom

a

$ article->cartell['nom']

El següent és afegir un segon paràmetre al meu pertanyent a, des de



tornar $ això->pertany a('Aplicació Usuari');

a

tornar $ això->pertany a('Aplicació Usuari', 'ID d'usuari');

en què user_id és la meva clau estrangera a la taula de notícies.