我在 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
中?
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, ]