Gelöst – Versuchen, Eigentum von Nicht-Objekten zu erhalten – Laravel

Solved Trying Get Property Non Object Laravel



Problem

Ich versuche, den Namen des Benutzers in meinem Artikel wiederzugeben, und erhalte das |_+_|. Meine Codes:

Modelle

1. Nachrichten







KlasseNachrichtenerweitertModell
{
öffentlich FunktionGeschrieben von()
{
Rückkehr $dieses->gehört('AppBenutzer');
}
geschützt $table = 'Nachrichten';
geschützt $ausfüllbar = ['nachrichtenInhalt', 'newsTitle', 'Geschrieben von'];
}

2. Benutzer



KlasseBenutzererweitertModellimplementiertAuthentifizierungsvertrag,
Autorisierbarer Vertrag,
CanResetPasswordContract
{
verwendenAuthentifizierbar,Autorisierbar,KannPasswort zurücksetzen;

geschützt $table = 'Benutzer';

geschützt $ausfüllbar = ['Name', 'Email', 'Passwort'];

geschützt $versteckt = ['Passwort', 'remember_token'];

}

Regler

öffentlich FunktionArtikel anzeigen($Schnecke)
{
$artikel =Nachrichten::wo('Schnecke', $Schnecke)->firstOrFail();
RückkehrAussicht('Artikel', kompakt ('Artikel'));
}

Klinge

{{ $artikel->Geschrieben von->Name }}

Wenn ich versuche, den Namen in der Klinge zu entfernen |_+_| es gibt das |_+_| aus, aber wenn ich versuche, den ->Namen hinzuzufügen, heißt es |_+_| aber ich habe einen Feldnamen in meiner Tabelle und ein |_+_| Modell. Verpasse ich etwas?



Lösung

Gibt Ihre Abfrage ein Array oder ein Objekt zurück? Wenn Sie es auslagern, stellen Sie möglicherweise fest, dass es sich um ein Array handelt und Sie nur einen Array-Zugriff ([]) anstelle eines Objektzugriffs (->) benötigen.





Zweite Meinung

$artikel->Poster->Name

zu

$artikel->Poster['Name']

Als nächstes füge ich einen zweiten Parameter in meinem gehört To hinzu, from



Rückkehr $dieses->gehört('AppBenutzer');

zu

Rückkehr $dieses->gehört('AppBenutzer', 'Benutzeridentifikation');

in denen |_+_| ist mein Fremdschlüssel in der News-Tabelle.