2016-05-18 10 views
1

Ich habe eine Beziehung in meinem Modell, das eine erfordert, wo Bedingung:Laravel 5: Kann nicht Modelleigenschaft in Beziehung bekommen

public function characters() { 
    return $this->hasMany('Character')->where('characters.game_id', $this->game_id); 
} 

Das Problem ist, dass "$ this-> game_id" doesn Es scheint nicht zu funktionieren. Wenn ich die ID, die ich an ihrer Stelle brauche, fest codiere, dann funktioniert die Beziehung gut. Ich habe auch versucht "$ this-> attributes ['game_id']", was auch nicht funktioniert. Ich weiß, dass der Wert für "$ this-> game_id" existiert, weil ich es anzeigen kann, wenn ich es in einem Accessor oder als eine normale Eigenschaft in dem resultierenden Objekt zurückgeben. Aber aus welchem ​​Grund auch immer, ich kann auf diesen Wert in der Beziehung nicht zugreifen. Gedanken?

Antwort

0

Warum benötigen Sie diese besondere Where-Klausel? Ich denke, hasMany macht das für Sie.

+0

Das wäre der Fall, wenn diese Beziehung Teil des "Spiel" -Modells wäre, obwohl es tatsächlich ein anderes Modell ist, also ist es notwendig, die genaue Beziehung zu bekommen, die ich brauche. – americanknight

+0

Ok. Könnten Sie bitte weitere Einzelheiten angeben? – linuxartisan