2017-05-25 4 views
0

ich habe zwei ModellLaravel belongsTo null zurück

Wort Modell:

class Word extends Model 
{ 
public function pos() 
    { 
     return $this->belongsTo(Pos::class); 
    } 
} 

und PoS Modell:

class Pos extends Model 
{ 
    // 
    protected $table = 'pos'; 
    public $timestamps = false; 
} 

jetzt in Controller i word und pos erhalten möchten Beziehung aber pos Beziehungsrückkehr n ull wenn i Geben Sie die Spalten

-Controller

$word = Word::with(['pos'])->whereId($vocabulary->word_id)->get(['id', 'word', 'surface', 'gloss', 'example','sound_url'])->first(); 

Notiz, wenn ich ohne die Spalten

$word = Word::with(['pos'])->whereId($vocabulary->word_id)->first(); 

i versucht worden addselect, Verwendung perfekt angeben Abfrage verwenden, arbeiten with closure aber gleiche Ergebnis

+0

Stellen Sie sicher, dass Sie auch die Spalte erhalten, auf der die Beziehung basiert. – aynber

+0

Ist 'Word :: whereId ($ vocabular-> word_id) -> get (['id', 'word', 'oberfläche', 'glanz', 'beispiel', 'sound_url']) -> first(); 'Arbeit? – apokryfos

+0

@apokryfos ja natürlich –

Antwort

0

Vielleicht Versuchen Sie, pos_id zu diesem Spaltenarray hinzuzufügen.

+0

Bitte lesen Sie meine Frage ..Es funktioniert ohne Geben Sie die Spalten –

+0

ja, ich habe Ihre Frage verstanden ... Wenn Sie Spalten angeben Sie Spalte nicht verantwortlich für die Beziehung so vielleicht deshalb, dass es nicht funktioniert . Fügen Sie 'pos_id' zu ['id', 'word', 'surface', 'glanz', 'example', 'sound_url'] diesem Array hinzu. – sebbz

+0

ja deine Antwort Präfekt –