有条件的Laravel数据库播种机

时间:2016-12-02 08:53:51

标签: php database laravel

我希望有人可以帮助我。我为国家制作数据库播种器,我想制作一些IF来检查我在数据库中的记录(如果有任何国家不进行录制),如果没有我的国家/地区数组在数据库中记录。

public function run()

{
    DB::table('countries')->delete();

    $countries = 
            [[1, 'US', 'United States', 'САЩ'],
            [2, 'CA', 'Canada', 'Канада'],
            [3, 'AF', 'Afghanistan', 'Афганистан'],
            [4, 'AL', 'Albania', 'Албания'],
            [5, 'DZ', 'Algeria', 'Алжир'],
            [6, 'DS', 'American Samoa', 'Американска Самоа'],
            [7, 'AD', 'Andorra', 'Андора'],
            [8, 'AO', 'Angola', 'Ангола'],
            [9, 'AI', 'Anguilla', 'Ангуила'],
            [10, 'AQ', 'Antarctica','Антарктика'],
            [11, 'AG', 'Antigua and/or Barbuda','Антигуа и Барбуда'],
            [12, 'AR', 'Argentina', 'Аржентина']];

          foreach ($countries as  $item) {
                $data ['name'] = $item[3];
                $data ['slug'] = str_slug($item[2]);
                $data ['code'] = $item[1];
                DB::table('countries')->insert($data);


            };

1 个答案:

答案 0 :(得分:0)

您可以使用updateOrInsert()方法:

...
DB::table('countries')->updateOrInsert($data);
...

了解更多信息:https://laravel.com/api/5.3/Illuminate/Database/Query/Builder.html#method_updateOrInsert