Laravel updateOrInsert verarbeitet foreach
P粉538462187
P粉538462187 2024-02-17 19:25:47
0
1
352

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粉538462187
P粉538462187

Antworte allen(1)
P粉296080076

用键名和值构建一个简单的数组怎么样?

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,
]
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!