Rumah  >  Soal Jawab  >  teks badan

Kemas kini LaravelAtauSisipkan pemprosesan untuk setiap

Saya berada dalam gelung DB 中有多个列,我需要填充这些字段中的值。为了实现这一点,我使用 foreach.

$update = [];

foreach ($userPermissions->getPermissionNames() as $t)
{
    if (in_array($t, $permissions))
    {
        $update[] =  [$t => 1];
    }
    else{
        $update[] = [$t => 0];
    }
}

Keluaran tatasusunan ini ada di sini:

array:2 [▼
  0 => array:1 [▼
    "is_admin" => 1
  ]
  1 => array:1 [▼
    "is_something_else" => 1
  ]
]

Tetapi apabila sampai ke updateOrInsert ia gagal kerana tatasusunan tidak berstruktur dengan betul.

UserPermission::updateOrInsert(['user_id' => $user->id], $update);

Bagaimana untuk menggabungkan ini dynamic 值插入到 table?

P粉538462187P粉538462187219 hari yang lalu327

membalas semua(1)saya akan balas

  • P粉296080076

    P粉2960800762024-02-18 14:33:19

    Bagaimana pula dengan membina tatasusunan mudah dengan kunci dan nilai?

    foreach ($userPermissions->getPermissionNames() as $t)
    {
        // Cast the bool to an int
        $update[$t] = (int) in_array($t, $permissions);
    }
    

    Ia sepatutnya menghasilkan sesuatu seperti,

    [
        'is_admin' => 1,
        'is_something_else' => 1,
    ]
    

    balas
    0
  • Batalbalas