des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Yii 2 миграции вставка нескольких строк?

каким образом я могу вставить несколько строк и удалить тоже несколько

public function safeUp()
    {
        $this->insert('country', [
            'name' => 'Австралия',
            'name' => 'Австрия',
            'name' => 'Азербайджан',
            'name' => 'Албания',
        ]);
    }

    public function safeDown()
    {
        $this->delete('country', [
            'name' => 'Австралия',
            'name' => 'Австрия',
            'name' => 'Азербайджан',
            'name' => 'Албания',
        ]);
    }


так вставляется только одна
  • Вопрос задан
  • 4813 просмотров
Решения вопроса 1
des1roer
@des1roer Автор вопроса
ученье - свет, а неученье - приятный полумрак
<?php

use yii\db\Migration;

class m160322_045630_add_catalog_data extends Migration {

    public function safeUp()
    {
        Yii::$app->db->createCommand()->batchInsert('country', ['name'], [
            ['Австралия'],
            ['Австрия'],
            ['Азербайджан'],
            ['Албания'],
        ])->execute();
 
    }

    public function safeDown()
    {
        Yii::$app->db->createCommand()->delete('country', ['in', 'name', ['Австралия', 'Австрия', 'Азербайджан', 'Албания']]
        )->execute();

    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
batchInsert()
public function up()
    {
        $this->batchInsert('country', ['name'], [
          ['Австралия'],
          [ 'Австрия'],
          ['Азербайджан'],
          [ 'Албания'],
        ]);
    }

public function down()
    {
        $this->delete('country', ['in', 'name', [
           'Австралия',
            'Австрия',
           'Азербайджан',
           'Албания',
        ]]);
    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы