where ([' seriesId'=>1600])->orderBy('ID');$cardNum=2;foreach("> Laksanakan semua pertanyaan SQL dalam penghijrahan yii2-Soal Jawab Rangkaian PHP Cina
Laksanakan semua pertanyaan SQL dalam penghijrahan yii2
P粉505450505
P粉505450505 2023-09-06 18:08:57
0
1
507

Saya cuba melakukan migrasi yang melaksanakan berbilang pertanyaan pada jadual berbeza pada masa yang sama

$sql = ''; $sql .= "UPDATE card_series SET Code = 903 WHERE ID = 1600;"; $cardsSeries1600 = CardList::find() ->where(['seriesId' => 1600]) ->orderBy('ID'); $cardNum = 2; foreach ($cardsSeries1600->each() as $card) { if ($card->client_id != NULL) { $sql .= "DELETE FROM client_cards WHERE card_id = ".$card->ID.";"; } $number = str_pad($cardNum, 8, "0", STR_PAD_LEFT); $cardId = (1903).$number; $sql .= "UPDATE card_list SET ID = '".$cardId."', Code = 903, Number = '".$number."' WHERE ID = ".$card->ID.";"; $sql .= "UPDATE card_list_log SET card_id = '".$cardId."', Code = 903, Number = '".$number."' WHERE card_id = ".$card->ID.";"; $cardNum++; } \Yii::$app->db->createCommand($sql)->execute();

Tapi akhirnya, saya hanya ada satu permintaan pertamaUPDATE card_series SET Code = 903 WHERE ID = 1600;

Saya cuba mencetak pembolehubah$sqldan semua permintaan ada di sana tetapi hanya permintaan pertama telah dilaksanakan

Apakah yang boleh saya lakukan untuk membuat semua permintaan dilaksanakan satu demi satu?

P粉505450505
P粉505450505

membalas semua (1)
P粉605233764

Anda boleh mencuba kaedah berikut.

public function safeUp() { $query = "你的查询语句"; $this->execute($query); }
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!