[英]How to define a dynamic attribute for a many to many relationship in Laravel 5?
[英]how to define many to many relationship in laravel models?
我有两个主表。 即users
和tasks
。 主键列名in_user_id
用户表和in_task_id
的任务表。
有关系表users_tasks
(以查看任务分配给了哪些用户,以及用户分配了哪些任务)。 外键列是in_task_id
表中的in_task_id
和in_worker_id
。
我想在两个模型中定义用户和任务的关系( 多对多 )。 我已经阅读了这份文件 。 但在我的情况下,主键列是用户表中的in_user_id 。 但是,外键的列名在users_tasks表in_worker_id。
所以我不知道如何处理关系函数中的第四个参数( 在任务模型文件中return $this->belongsToMany('App\\User', 'users_tasks', 'in_task_id', ?);
)。 in_user_id
或in_worker_id
或需要定义更多内容的东西。 如果有人知道解决方案,将不胜感激。
尝试这个
$ this-> belongsToMany('App \\ User,'users_tasks','in_worker_id','in_user_id');
参数->模型,关系表,外键,主键
关系表也应按字母顺序排列。 (最佳方式)必须是task_users
除了自定义联接表的名称之外,还可以通过将其他参数传递给belongsToMany方法来自定义表上键的列名。 第三个参数是您要在其上定义关系的模型的外键名称,而第四个参数是您要加入的模型的外键名称:
您的情况是:
return $this->belongsToMany('App\User', 'users_tasks', 'in_task_id', 'in_worker_id');
现在,这假设了一些事情:
users_tasks
)也需要它自己的标识符列,通常是一个自动递增的id。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.