我在DB
中有多个列,我需要在这些字段中填充值。为了实现这一点,我使用了foreach
循环。
$update = [];
foreach ($userPermissions->getPermissionNames() as $t)
{
if (in_array($t, $permissions))
{
$update[] = [$t => 1];
}
else{
$update[] = [$t => 0];
}
}
这个数组的输出在这里:
array:2 [▼
0 => array:1 [▼
"is_admin" => 1
]
1 => array:1 [▼
"is_something_else" => 1
]
]
但当它进入CCD_ 3时,它失败了,因为阵列不在正确的结构中。
UserPermission::updateOrInsert(['user_id' => $user->id], $update);
如何将这些dynamic
值插入到table
中?
用键名称和值构建一个简单的数组怎么样?
foreach ($userPermissions->getPermissionNames() as $t)
{
// Cast the bool to an int
$update[$t] = (int) in_array($t, $permissions);
}
它应该产生类似的东西
[
'is_admin' => 1,
'is_something_else' => 1,
]