Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过“额外”的Laravel关系表;s";使用id名称_Php_Laravel_Eloquent_Relationship - Fatal编程技术网

Php 通过“额外”的Laravel关系表;s";使用id名称

Php 通过“额外”的Laravel关系表;s";使用id名称,php,laravel,eloquent,relationship,Php,Laravel,Eloquent,Relationship,当课表中有“subject\u id”时,我得到了“lessons.subjects\u id”。我不知道我的关系哪里出了问题。我的关系模型如下所示: class Lessons extends Model { public function subject() { return $this->belongsTo('Lea\Subjects'); } public function category() { return $

当课表中有“subject\u id”时,我得到了“lessons.subjects\u id”。我不知道我的关系哪里出了问题。我的关系模型如下所示:

    class Lessons extends Model
{
    public function subject()
    {
    return $this->belongsTo('Lea\Subjects');
    }

    public function category()
    {
    return $this->belongsTo('Lea\Category');
    }

}
主题模式为:

    class Subjects extends Model
    {

       public function category()
       {
         return $this->belongsTo('Lea\Category');
       }
       public function Lessons()
       {
         return $this->hasMany('Lea\Lessons');
       }
    }

如果你不尊重拉雷维尔公约,你必须教他你的公约;)通过添加外键名

在这方面,你有:

雄辩的决定关系的外键基于 型号名称。在这种情况下,手机型号会自动假定为 具有用户id外键。如果你想推翻这个惯例, 您可以将第二个参数传递给hasOne方法:


我很确定这是因为laravel根据模型的复数版本(默认情况下假定为单数形式)自动将表名复数化,所以问题在于您的模型已经复数化了。是的,这是事实,但这是我的学习,我想知道我错过了拉威尔大会的地方。尽管您的解决方案使用的是手动forgien键列名。但你能告诉我我错过大会的地方吗?很乐意帮忙;)
class Lessons extends Model
{
    public function subject()
    {
           //                                  your foreign key
         return $this->belongsTo('Lea\Subjects', 'subject_id');
    }

    public function category()
    {
    return $this->belongsTo('Lea\Category');
    }

}
class Subjects extends Model
{

   public function category()
   {
     return $this->belongsTo('Lea\Category');
   }
   public function Lessons()
   {
     //                                  your foreign key
     return $this->hasMany('Lea\Lessons', 'subject_id');
   }
}