laravel ownsTo 给出 null

2021-12-26 00:00:00 php laravel laravel-5 laravel-4 eloquent

laravel 中的 belongsTo 关系返回 null

belongsTo relation in laravel is returning null

public function games(){
    return $this->belongsTo('AppModelsGame');
  }

但是当我提供密钥作为参数时,它似乎工作正常

but when i provide key as argument it seems to work fine

  public function games(){
        return $this->belongsTo('AppModelsGame','game_id');
      }

但根据 docs game_id 本身就是一个默认参数.我在这里缺少什么小东西.

but as per the docs game_id is itself is a default argument. What is the small thing i am missing here.

谢谢

推荐答案

关系的 belongsTo 端根据关系方法的名称构建外键名称.这种行为不同于关系的 hasOne/hasMany 端,后者使用类的名称.

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.

在本例中,您的关系方法名为 games,因此它将查找外键字段 games_id.您可以提供外键字段作为第二个参数,如您所示,或者您可以将您的关系方法重命名为 game().

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().

相关文章