所以我有三个表:users
,candidates
和logs
。现在candidates
没有自己的ID,它有一个标识外键user_id
。看起来很像这样:
-users-
id
name
etc.
-candidates-
user_id
type
etc.
现在我想要一个与logs
具有一对多关系的表candidates
,因为候选人可以拥有零个或多个logs
。所以我想要一个candidates
的外键,比如candidate_id
。但是,像这样,Laravel不会自动理解这种关系。我应该将外键从logs
命名为candidates
以使Laravel了解这种关系?
答案 0 :(得分:0)
我认为最简单的方法是给候选人自己的增量id,然后有两个关系表,candidate_user和candidate_log。它将根据Laravel docs
进行设置答案 1 :(得分:0)
您的候选人表必须有主键。
不需要增量ID,但是不应该在没有主键的情况下离开表。
定义主键后,您可以将其用作参考。
Laravel将尝试猜测您的foreign_key名称:
https://laravel.com/docs/5.2/eloquent-relationships#one-to-many
请记住,Eloquent会自动确定Comment模型上的正确外键列。按照惯例,Eloquent将采用拥有模型的“蛇案”名称,并以_id为后缀。因此,对于此示例,Eloquent将假定Comment模型上的外键是post_id。
如果您的主键不是“id”列,则应使用protected $primaryKey
和public $incrementing
属性来描述您的Eloquent模型中的主键。