Laravel 5 |一对多关系查询错误
Laravel 5 | One to Many Relationship Query Error
我在工作模型和许可模型之间创建了一对多关系。我最近发现了 Tinker 这个很棒的工具,所以我一直在用它来测试我的模型。当我 运行 Job::with('steps')->find(1);
我得到这个错误
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'steps.job_id' in 'where clause' (SQL: select * from `steps` where `steps`.`job_id` in (1))'
这是我的工作模型
public function steps ()
{
return $this->hasMany('MyfirstApp\Step');
}
这是我的步进模型
public function Job ()
{
return $this->belongsTo('MyFirstApp\Job');
}
我已经在 Jobs Table 中设置了外键,所以我不确定可能是什么错误。有什么想法吗?
Table结构供参考
对于你的关系,Job
有很多Steps
,你分配了错误的外键。
在你的情况下 steps
table 应该包含 job_id
而不是 job
包含 steps_id
.
解法:
- 从
job
table 中删除 steps_id
。
- 将
steps
table中的job_id
设置为外键。
试一试
您在模型上设置的关系有误
工作模型
public function steps ()
{
return $this->belongsTo('MyfirstApp\Step');
}
阶梯模型
public function Job ()
{
return $this->hasMany('MyFirstApp\Job');
}
我在工作模型和许可模型之间创建了一对多关系。我最近发现了 Tinker 这个很棒的工具,所以我一直在用它来测试我的模型。当我 运行 Job::with('steps')->find(1);
我得到这个错误
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'steps.job_id' in 'where clause' (SQL: select * from `steps` where `steps`.`job_id` in (1))'
这是我的工作模型
public function steps ()
{
return $this->hasMany('MyfirstApp\Step');
}
这是我的步进模型
public function Job ()
{
return $this->belongsTo('MyFirstApp\Job');
}
我已经在 Jobs Table 中设置了外键,所以我不确定可能是什么错误。有什么想法吗?
Table结构供参考
对于你的关系,Job
有很多Steps
,你分配了错误的外键。
在你的情况下 steps
table 应该包含 job_id
而不是 job
包含 steps_id
.
解法:
- 从
job
table 中删除steps_id
。 - 将
steps
table中的job_id
设置为外键。
试一试
您在模型上设置的关系有误
工作模型
public function steps ()
{
return $this->belongsTo('MyfirstApp\Step');
}
阶梯模型
public function Job ()
{
return $this->hasMany('MyFirstApp\Job');
}