91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel怎樣填充SQL數據

發布時間:2021-01-27 09:21:40 來源:億速云 閱讀:189 作者:小新 欄目:編程語言

這篇文章主要介紹了Laravel怎樣填充SQL數據,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

背景

我們都知道在 Laravel 開發過程中,對于數據庫結構的修改可以通過 migration 完成,對于數據庫生產數據的預填充可以使用 seeder 完成。

如果預填充的數據比較多,而又是在開發過程中產生的,手寫 seeder 中的插入就顯得過于死板,你可能需要一筆一筆的復制修改這些內容:

\DB::table('software_categories')->insert(array(
            0 =>
                array(
                    'id' => 1,
                    'name' => '操作系統',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:31',
                    'updated_at' => '2021-01-19 19:22:36',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            1 =>
                array(
                    'id' => 2,
                    'name' => '辦公應用',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:53',
                    'updated_at' => '2021-01-19 19:22:53',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            2 =>
                array(
                    'id' => 3,
                    'name' => '圖像處理',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:22:59',
                    'updated_at' => '2021-01-19 19:22:59',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            3 =>
                array(
                    'id' => 4,
                    'name' => '網絡工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:04',
                    'updated_at' => '2021-01-19 19:23:10',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            4 =>
                array(
                    'id' => 5,
                    'name' => '影音工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:35',
                    'updated_at' => '2021-01-19 19:23:35',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            5 =>
                array(
                    'id' => 6,
                    'name' => '系統工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:23:47',
                    'updated_at' => '2021-01-19 19:23:47',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
            6 =>
                array(
                    'id' => 7,
                    'name' => '設計工具',
                    'description' => NULL,
                    'deleted_at' => NULL,
                    'created_at' => '2021-01-19 19:24:05',
                    'updated_at' => '2021-01-19 19:24:05',
                    'parent_id' => NULL,
                    'order' => '0',
                ),
        ));

這些數據如果夠多,我相信你也一定會找一個好辦法來批量處理。

方案

一,我可以在開發過程中對預填充的數據全部處理完成后,從數據庫導出 .sql 文件,再作為腳本導入到生產環境。

二,我可以將數據庫中已存在的數據進行結構化處理,生成 seeder 文件,之后就可以通過 artisan db:seed 命令進行填充。

這兩種方法都可以。

SQL文件直接導入

使用數據庫管理工具,如 HeidiSQL 導出需要的數據庫表至 .sql 文件。

在 Laravel 中,可以編寫一個 command,邏輯中寫入以下代碼:

DB::unprepared(file_get_contents('path/data.sql'));

Seeder填充

這是我認為最佳的方案,畢竟 Laravel 提供了完善的數據庫遷移和填充機制,何不利用它?

執行 composer require orangehill/iseed -vvv 安裝包。

執行 php artisan iseed table_name 會自動在 database/seeders 目錄中創建對應表名的 seeder 文件。

而后,我們就可以使用 artisan db:seed --class=YourTableSeeder 來指定填充。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel怎樣填充SQL數據”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双辽市| 山丹县| 普洱| 江门市| 垫江县| 灵寿县| 渭南市| 重庆市| 噶尔县| 灌阳县| 翁源县| 东丽区| 璧山县| 闵行区| 墨竹工卡县| 伊吾县| 祁东县| 汽车| 永嘉县| 金昌市| 项城市| 玛曲县| 海伦市| 临邑县| 逊克县| 防城港市| 寿宁县| 商水县| 绥棱县| 浦江县| 弋阳县| 晋江市| 盐城市| 阿坝| 阿图什市| 彩票| 山阳县| 香格里拉县| 江孜县| 上思县| 双城市|