为什么我在Laravel中的getKey()方法之后收到空返回

为什么我在Laravel中的getKey()方法之后收到空返回,laravel,laravel-5,eloquent,Laravel,Laravel 5,Eloquent,我有一个数据库,BranchSummaryReport的模型,关于这个实体 我放了一个protected$primaryKey='product_id'。但是,如果您转到branch_summary_报告表,您将看到branch_summary_报告上的“primary_id”列不是主键。“product_id”具有重复数据(第1行和第2行的product_id为1,但分支_id不同) 当我使用这个getKey()方法时,我收到的是一个Null,而不是某一行的产品id。我不知道是否因为这个get

我有一个数据库,BranchSummaryReport的模型,关于这个实体

我放了一个
protected$primaryKey='product_id'。但是,如果您转到branch_summary_报告表,您将看到branch_summary_报告上的“primary_id”列不是主键。“product_id”具有重复数据(第1行和第2行的product_id为1,但分支_id不同)

当我使用这个getKey()方法时,我收到的是一个Null,而不是某一行的产品id。我不知道是否因为这个getKey方法不支持多个id


谢谢,我是拉威尔的新手

product\u id
必须是
branch\u summary\u报告
表迁移中的主键,将其设置为主键

Schema::create('branch\u summary\u report',函数(Blueprint$表){
//不能有两个递增ID,只能有一个主键
//$table->bigIncrements('id');
$table->bigIncrements('product_id');
});
希望这有帮助

getKey()只返回$this->getAttribute($this->getKeyName()),因此如果产品id是一个属性,它将被返回。你能不能再分享一些代码,让我们了解一下上下文?