我在postgres数据库中有一个表和一个视图:customer
表和cust_address_view
视图。连接这两个是名为customer_id
的id列。当我在customer
到customerAddress
中声明关系时,它会将customer_id
视为一个整数(或者至少它会将前导零点斩掉)找不到记录。
我声明了这样的关系:
public function customerAddress()
{
return $this->hasMany('App\CustomerAddress' , 'customer_id', 'customer_id');
}
对于客户ID 012345,我在调试栏中看到了此查询:
select * from "cust_address_view" where "cust_address_view"."customer_id" = '12345' and "cust_address_view"."customer_id" is not null
这是一个问题,其中一个是视图而不是两个都是一个表吗?
答案 0 :(得分:2)
在Customer
课程中,您要指定customer_id
无法递增(即不是整数)
class Customer extends Model
{
...
public $incrementing = false;
...
}
这应该告诉Laravel不要使用整数来查找客户。