我在 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
]
]
但是当它进入 updateOrInsert 时它会失败,因为数组的结构不正确。
UserPermission::updateOrInsert(['user_id' => $user->id], $update);
如何将这些 dynamic 值插入到 table 中?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
用键名和值构建一个简单的数组怎么样?
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, ]