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->noma
$ 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.