Resuelto - Intentando obtener la propiedad de un no objeto - Laravel

Solved Trying Get Property Non Object Laravel



Problema

Estoy tratando de repetir el nombre del usuario en mi artículo y obtengo el ErrorException: Trying to get property of non-object . Mis códigos:

Modelos

1. Noticias







claseNoticiasse extiendeModelo
{
público funciónpublicado por()
{
regreso $ esto->pertenece a('Aplicación Usuario');
}
protegido $ mesa = 'Noticias';
protegido $ rellenable = ['newsContent', 'newsTitle', 'publicado por'];
}

2. Usuario



claseUsuariose extiendeModeloimplementosContrato autenticable,
Contrato autorizable,
CanResetPasswordContract
{
usarAutenticable,Autorizable,CanResetPassword;

protegido $ mesa = 'usuarios';

protegido $ rellenable = ['nombre', 'Email', 'contraseña'];

protegido $ oculto = ['contraseña', 'recordar_token'];

}

Controlador

público funciónshowArticle($ babosa)
{
$ artículo =Noticias::dónde('babosa', $ babosa)->firstOrFail();
regresovista('artículo', compacto ('artículo'));
}

Espada

{{ $ artículo->publicado por->nombre }}

Cuando intento eliminar el nombre en la hoja {{ $article->postedBy }} genera el id , pero cuando trato de agregar el -> nombre allí dice Trying to get property of non-object pero tengo un nombre de campo en mi tabla y un User modelo. ¿Me estoy perdiendo de algo?



Solución

¿Su consulta devuelve una matriz u objeto? Si lo descarta, es posible que descubra que es una matriz y todo lo que necesita es un acceso a la matriz ([]) en lugar de un acceso a un objeto (->).





Segunda opinión

$ artículo->póster->nombre

para

$ artículo->póster['nombre']

Lo siguiente es agregar un segundo parámetro en mi pertenece a, desde



regreso $ esto->pertenece a('Aplicación Usuario');

para

regreso $ esto->pertenece a('Aplicación Usuario', 'user_id');

en el que user_id es mi clave externa en la tabla de noticias.