2016-06-22 11 views
0

belongsToの関係がnulllaravelのbelongsToのはlaravelでヌル

public function games(){ 
    return $this->belongsTo('App\Models\Game'); 
    } 

を返していますが、私は、引数としてキーを提供する際には、

public function games(){ 
     return $this->belongsTo('App\Models\Game','game_id'); 
     } 

正常に動作するようですが、docsgame_idあたりにあるよう自身がありますデフォルトの引数。私がここで欠けている小さなものは何ですか?

おかげ

+3

これは単なるゲームに属しているので、それはもっと重要なことですが、それは 'game()'ではありませんか? –

+0

@ThunderBirdあなたは関係の反対側も提供できますか?また、データベーススキーマの関連部分 –

答えて

1

関係のbelongsToは、関係メソッドの名前に基づいて外部キー名を作成します。この動作は、クラスの名前を使用する関係のhasOne/hasMany側とは異なります。

この場合、関係メソッドの名前はgamesであるため、外部キーフィールドgames_idが検索されます。表示したように、2番目のパラメーターとして外部キーフィールドを指定するか、関係メソッドの名前をgame()に変更することができます。

1

あなたの方法「ゲーム」の名前が問題になる可能性がありように見えます。 1対多の関係を仮定すると、親クラスは単数であり、子は複数であるということです。 「ゲーム」という名前を「ゲーム」に変更してみてください。キーの引数は不要です。

この時点で、私はLaravelがあなたのidキーが "games_id"であると思っていると思います。

関連する問題