Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 透视表不同id_Php_Laravel_Lumen - Fatal编程技术网

Php 透视表不同id

Php 透视表不同id,php,laravel,lumen,Php,Laravel,Lumen,我偶然发现了一个棘手的问题,我想不起来 我有两个模型,用户和雇主 [User] / [Employer] 雇主从用户表继承。雇主可以属于不同的中心,所以我在中心和医生之间有很多关系 [User] (23) ^ | [Employer] ____________________________ [Center] ^----| employers_has_centers |----^

我偶然发现了一个棘手的问题,我想不起来

我有两个模型,用户和雇主

          [User]
        /        
[Employer] 
雇主从用户表继承。雇主可以属于不同的中心,所以我在中心和医生之间有很多关系

   [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'
我从不在任何列中使用我的
雇主id
,我在执行CRUD操作时总是参考
用户id

当我试图创建雇主推荐/附加到中心时,会出现以下问题:

Column not found: 1054 Unknown column 'employer_id&#039
所以,我假设默认情况下,Laravel尝试从我的雇主模型的列中获取id,是否有一种方法可以更改,以便它搜索
user\u id
列而不是id

未知列“雇主健康中心。雇主id”

这是因为默认情况下,laravel尝试按照约定从表
employers
中提取主键。因此,laravel将寻找一个id
雇主id
。因为在您的表中它是
雇主
,所以您可以在关系中指定它

public function healthCenters()
{
    return $this->belongsToMany(HealthCenter::class, 'employer');
}

因此,如果这只是编码的初始阶段,我强烈建议您遵循约定而不是配置

好的,必须添加(类、表、“雇主”)才能使其正常工作。我现在至少可以存钱了,但是当我找到一个雇主并懒洋洋地加载一个中心时,它就不起作用了。也许我会选择PK。是的,只要遵循惯例,一切都会非常简单。而且,当您遵循它时,理解数据库表非常容易。