laravel belongsTo gives null

前端 未结 3 1910
小蘑菇
小蘑菇 2021-01-27 06:55

belongsTo relation in laravel is returning null

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

but when i

相关标签:
3条回答
  • 2021-01-27 07:43

    It looks like the name of your method "games" may be the issue. The assumption with a 1-to-many relationship is that the parent class is singular while the child is plural. Try changing the name "games" to "game" and the key argument shouldn't be required.

    At this point, I'm guessing Laravel is thinking your id key would be "games_id".

    0 讨论(0)
  • 2021-01-27 07:47

    In my case, i was using public for defining variables. When I change to protected it worked.

    public $fillable = [..class properties..];
    

    changed to

    protected $fillable = [..class properties..];
    
    0 讨论(0)
  • 2021-01-27 07:53

    The belongsTo side of the relationship builds the foreign key name based on the name of the relationship method. This behavior is different than the hasOne/hasMany side of the relationship, which uses the name of the class.

    In this case, your relationship method is named games, so it will look for the foreign key field games_id. You can either provide the foreign key field as the second parameter, as you have shown, or you can rename your relationship method to game().

    0 讨论(0)
提交回复
热议问题