我有三个桌子
car_third_party_covers
id
insurance_provider_id
car_model_body_type_id(foriegn key of CarModelBodyType)
car_model_body_types
id
超额
id
insurance_provider_id
car_model_body_type_id(foriegn key of CarModelBodyType)
所以我使用了hasManyThrough关系,并在CarThirdPartyModel中创建了函数
public function excessValue(){
$test = $this->hasManyThrough(Excess::class, CarModelBodyType::class, 'id', 'car_model_body_type_id', 'car_model_body_type_id','id');
test->where('insurance_provider_id', '=', $this->insurance_provider_id);
return $test;
}
可以看出car_model_body_type_id
和insurance_provider_id
都是可以用于关系的列名称,因此我在关系中使用一个作为外键,并尝试在where子句中使用另一个,但对于where子句,我得到的是空值,而where子句却得到正确的记录。