Laravel 将外键视为整数而不是varchar的关系

Laravel 将外键视为整数而不是varchar的关系,laravel,eloquent,Laravel,Eloquent,我在postgres数据库中有一个表和一个视图:一个customer表和一个cust\u address\u视图视图。连接这两者的是一个名为customer\u id的id列。当我在customer中声明与customerAddress的关系时,它将customer\u id视为一个整数(或者至少它将前导零切掉),导致它找不到记录 我已声明关系如下: public function customerAddress() { return $this->hasMany('App\Cus

我在postgres数据库中有一个表和一个视图:一个
customer
表和一个
cust\u address\u视图
视图。连接这两者的是一个名为
customer\u id
的id列。当我在
customer
中声明与
customerAddress
的关系时,它将
customer\u 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

这是一个问题,其中一个是视图而不是表吗?

Customer
类中,您想指定
Customer\u id
不能递增(即不是整数)


这应该告诉Laravel不要使用整数来查找客户。

customer
类中,您希望指定
customer\u id
不能递增(即不是整数)


这应该告诉Laravel不要使用整数来查找客户。

这样做了,谢谢!我甚至没有意识到这是一件事。是的,我也没有意识到,直到我不得不早些时候使用它,我相信他们在2015年12月的升级说明中添加了它。这就做到了,谢谢!我甚至没有意识到这是一件事。是的,我也没有意识到,直到我不得不早些时候使用它,我相信他们在2015年12月的升级说明中添加了它。
class Customer extends Model
{
    ...
    public $incrementing = false;
    ...
}