Heim > Fragen und Antworten > Hauptteil
Ich bin in der DB
中有多个列,我需要填充这些字段中的值。为了实现这一点,我使用 foreach
Schleife.
$update = []; foreach ($userPermissions->getPermissionNames() as $t) { if (in_array($t, $permissions)) { $update[] = [$t => 1]; } else{ $update[] = [$t => 0]; } }
Die Ausgabe dieses Arrays ist hier:
array:2 [▼ 0 => array:1 [▼ "is_admin" => 1 ] 1 => array:1 [▼ "is_something_else" => 1 ] ]
Aber wenn es updateOrInsert
kommt, schlägt es fehl, weil das Array nicht richtig strukturiert ist.
UserPermission::updateOrInsert(['user_id' => $user->id], $update);
Wie kombiniere ich diese dynamic
值插入到 table
?
P粉2960800762024-02-18 14:33:19
用键名和值构建一个简单的数组怎么样?
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, ]