Resolvido - Tentando obter propriedade de não-objeto - Laravel

Solved Trying Get Property Non Object Laravel



Problema

Estou tentando repetir o nome do usuário em meu artigo e estou recebendo o ErrorException: Trying to get property of non-object . Meus códigos:

Modelos

1. Notícias







classeNotíciaestendeModelo
{
público funçãopostado por()
{
Retorna $ isto->pertence a('App Usuário');
}
protegido $ mesa = 'notícia';
protegido $ fillable = ['newsContent', 'newsTitle', 'postado por'];
}

2. Usuário



classeDo utilizadorestendeModeloimplementosAuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
usarAutenticável,Autorizável,CanResetPassword;

protegido $ mesa = 'Comercial';

protegido $ fillable = ['nome', 'o email', 'senha'];

protegido $ escondido = ['senha', 'lembrar_token'];

}

Controlador

público funçãoshowArticle($ slug)
{
$ artigo =Notícia::Onde('lesma', $ slug)->firstOrFail();
Retornavisualizar('artigo', compactar ('artigo'));
}

Lâmina

{{ $ artigo->postado por->nome }}

Quando tento remover o nome na lâmina {{ $article->postedBy }} ele produz o id , mas quando tento adicionar o -> nome lá ele diz Trying to get property of non-object mas eu tenho um nome de campo em minha tabela e um User modelo. Estou esquecendo de algo?



Solução

A sua consulta está retornando array ou objeto? Se você jogá-lo fora, pode descobrir que é um array e tudo o que você precisa é um acesso de array ([]) em vez de um acesso de objeto (->).





Segunda opinião

$ artigo->poster->nome

para

$ artigo->poster['nome']

Em seguida, é adicionar um segundo parâmetro em meu belongsTo, de



Retorna $ isto->pertence a('App Usuário');

para

Retorna $ isto->pertence a('App Usuário', 'ID do usuário');

em que user_id é minha chave estrangeira na tabela de notícias.