【发布时间】:2016-02-18 15:07:26
【问题描述】:
我偶然发现了一些我无法解决的棘手问题。
我有 2 个模型,用户和雇主。
[User]
/
[Employer]
Employer 继承自 User 表。雇主可以属于不同的中心,所以我在中心和医生之间存在多对多关系。
[User] (23)
^
|
[Employer] ____________________________ [Center]
^----| employers_has_centers |----^
|----------------------------|
|id | employer | center_id |
|----------------------------|
| 1 | 23(user_id)| 2 |
|____________________________|
Employer.php
public function healthCenters()
{
return $this->belongsToMany(HealthCenter::class);
}
现在我的问题是,当我尝试获取一个雇主并使用它抱怨的响应加载中心时
Unknown column 'employer_health_center.employer_id'
我从不在任何列中使用我的employer_id,我在执行 CRUD 操作时总是参考user_id。
当我尝试创建雇主推荐/附加到中心时,会出现以下问题:
Column not found: 1054 Unknown column 'employer_id'
所以我假设默认情况下 Laravel 会尝试从我的 Employer 模型的列中获取 id,有没有一种方法可以更改,以便它应该搜索 user_id 列而不是 id?
【问题讨论】: