[英]Two relationships to the same table in Laravel 5.3
我使用Laravel构建了一个对我来说是新的应用程序,并且陷入了模型定义的困境。
我有两个表USERS和ACTIONS。
1)用户可以创建一个“动作”或多个动作。
2)用户也可以是另一个用户创建的动作的成员。
因此,如果我没记错,则第一个关系是一对多关系(一个用户可以创建许多动作,一个动作只能由一个用户创建),第二个关系是多对多的关系(许多用户可以成为成员)许多动作中)
我不知道Laravel是否允许这样做,或者我可能错过了一些东西
感谢大家
同一张表之间可能有多个关系。
以下关系定义应为您工作:
class User extends Model {
public function actions_created() {
return $this->hasMany(Action::class, 'creator_id');
}
public function actions() {
return $this->belongsToMany(Action::class);
}
}
class Action extends Model {
public function creator() {
return $this->belongsTo(User::class);
}
public function users() {
return $this->belongsToMany(User::class);
}
}
确保已准备好action_user表,以存储用户和操作之间的多对多关系。 它应该具有3列:id,user_id和action_id。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.