Php 在多态关系中使用其他列作为标识符

Php 在多态关系中使用其他列作为标识符,php,laravel,eloquent,Php,Laravel,Eloquent,我正在我的项目中使用雄辩,我目前面临着多态关系方面的问题。我想做的是在变形关系中指定另一列而不是主键,以便: 产品 id 产品编号 说明 使用者 id 用户名 照片 id 路径 imageable\u id imageable\u type 在这个场景中,我想创建一个与products和users表的关系,但是在product relationship中,由于某些原因,我不想将ID作为关系标识符,而是想将product_number作为关系标识符。从5.1版开始可以吗 谢谢 Jan可

我正在我的项目中使用雄辩,我目前面临着多态关系方面的问题。我想做的是在变形关系中指定另一列而不是主键,以便:

产品

  • id
  • 产品编号
  • 说明
使用者

  • id
  • 用户名
照片

  • id
  • 路径
  • imageable\u id
  • imageable\u type
在这个场景中,我想创建一个与products和users表的关系,但是在product relationship中,由于某些原因,我不想将ID作为关系标识符,而是想将
product_number
作为关系标识符。从5.1版开始可以吗

谢谢


Jan

可以通过如下方式指定本地密钥:

return $this->morphMany('App\Photos', 'imageable', null, null, 'product_number' );