gpt4 book ai didi

php - 如何在数据透视表 Laravel 5 中为附加字段附加不同的值

转载 作者:可可西里 更新时间:2023-11-01 06:51:08 28 4
gpt4 key购买 nike

我有包含以下字段的 project_group 数据透视表:id、group_id、project_id、admin_id、user_id

我用它来将组和项目附加在一起:

$group -> projects() -> attach($projects,array('admin_id' => Auth::user()->id));

是否可以为该数据透视表中的每条记录添加不同的 user_id。

例如:

第一条记录:

id = 1, group_id = 1 project_id = 2 admin_id = 1 user_id = 1

第二条记录:

id = 2, group_id = 1 project_id = 3 admin_id = 1 user_id = 1

第三条记录:

id = 3, group_id = 1 project_id = 2 admin_id = 1 user_id = 2

第四条记录:

id = 3, group_id = 1 project_id = 3 admin_id = 1 user_id = 2

基本上,如果我从项目 html 列表中选择 2 个项目并从 html 用户列表中选择 2 个用户,我需要获得如上例所示的结果...

最佳答案

当然,像这样:

$projects = [
2 => ['admin_id' => 1, 'user_id' => 1],
3 => ['admin_id' => 1, 'user_id' => 2],
// and so on
];
$group->projects()->attach($projects);

如果我理解你的问题是正确的,你可以像这样构建这样一个数组:

$projectsIds = [2,3];
$userIds = [1,2];
$projects = [];
$adminId = Auth::id();
foreach($userIds as $userId){
$projects += array_fill_keys($projectIds, [
'admin_id' => $adminId,
'user_id' => $userId
]);
}
$group->projects()->attach($projects);

关于php - 如何在数据透视表 Laravel 5 中为附加字段附加不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777244/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com