Rozwiązany – Próba uzyskania własności nie-obiektu – Laravel

Solved Trying Get Property Non Object Laravel



Problem

Próbuję powtórzyć nazwę użytkownika w moim artykule i otrzymuję |_+_|. Moje kody:

Modele

1. Aktualności







klasaAktualnościrozciąga sięModel
{
publiczny funkcjonowaćWysłane przez()
{
powrót $to->należy do(„AplikacjaUżytkownik”);
}
chroniony $tabela = 'Aktualności';
chroniony $do wypełnienia = ['treść wiadomości', „aktualnościTytuł”, 'Wysłane przez'];
}

2. Użytkownik



klasaUżytkownikrozciąga sięModelprzyboryUwierzytelnialna umowa,
Autoryzowana umowa,
CanResetPasswordContract
{
posługiwać sięUwierzytelnialny,Autoryzowalny,Czy można zresetować hasło;

chroniony $tabela = „użytkownicy”;

chroniony $do wypełnienia = ['Nazwa', 'e-mail', 'hasło'];

chroniony $ukryty = ['hasło', „zapamiętaj_token”];

}

Kontroler

publiczny funkcjonowaćpokażArtykuł($slug)
{
$artykuł =Aktualności::gdzie('ślimak', $slug)->pierwszy lub niepowodzenie();
powrótpogląd('artykuł', kompaktowy ('artykuł'));
}

Ostrze

{{ $artykuł->Wysłane przez->Nazwa }}

Kiedy próbuję usunąć imię w ostrzu |_+_| wyświetla |_+_|, ale kiedy próbuję dodać -> nazwę, mówi |_+_| ale mam nazwę pola w mojej tabeli i |_+_| Model. Czy czegoś mi brakuje?



Rozwiązanie

Czy Twoje zapytanie zwraca tablicę lub obiekt? Jeśli go zrzucisz, może się okazać, że jest to tablica i wszystko, czego potrzebujesz, to dostęp do tablicy ([]) zamiast dostępu do obiektu (->).





Druga opinia

$artykuł->plakat->Nazwa

do

$artykuł->plakat['Nazwa']

Następnym krokiem jest dodanie drugiego parametru w moim przynależności do, od



powrót $to->należy do(„AplikacjaUżytkownik”);

do

powrót $to->należy do(„AplikacjaUżytkownik”, 'identyfikator użytkownika');

w którym |__+_| to mój klucz obcy w tabeli wiadomości.