首頁  >  文章  >  後端開發  >  Thinkphp5 使用composer中seeder播種機

Thinkphp5 使用composer中seeder播種機

PHP中文网
PHP中文网原創
2018-02-18 14:08:371973瀏覽

前因:

前幾天,客戶要求做一個會員問答的系統,我就照流程做了,到了需要呼叫資料庫資料時,我覺得一個個添加又有點笨~

 解決過程:

後來查了查手冊,看看國外blog案例,我搞出來了個不錯的方法~~~

 我的使用記錄已截圖:

 

## 

直到後面這個,顯示出,時間,就表明播種機運作成功了~ 

  

以下是使用官方流程

#Seeder 的建立
在Thinkphp5 專案中,我們可以在命令列輸入下面這條指令:<pre class="hljs css">php think seed:create UserSeeder</pre>建立一個

UserSeeder 文件,建立成功之後你可以在database/seeds 目錄下面看到:其內容如下:程式碼非常的簡單,預設的給了一個run方法,現在我們都知道seeder 檔案是用來產生模擬資料的,而產生模擬資料的程式碼寫在run 方法就可以了。 在 方法中,我們可以隨意填入了可以填入資料庫的任意程式碼。這裡我就拋磚引玉啦:欄位
database|-seeds
|-|-UserSeeder.php
<?phpuse think\migration\Seeder;class UserSeeder extends Seeder
{    /**
     * Run Method.
     *
     * Write your database seeder using this method.
     *
     * More information on writing seeders is available here:
     * http://docs.phinx.org/en/latest/seeding.html
     */    public function run()
    {

    }
}
Seeder 的 run 方法run
要求:<a href="http://www.php.cn/code/114.html" target="_blank">給資料表 </a>Users 模擬產生100個資料。表格結構如下:
說明
nickname

呢稱呼

email信箱

password

密碼


#收到需求後,我可以這樣寫:

<?phpuse think\migration\Seeder;class UserSeeder extends Seeder
{    /**
     * Run Method.
     *
     * Write your database seeder using this method.
     *
     * More information on writing seeders is available here:
     * http://docs.phinx.org/en/latest/seeding.html
     */    public function run()
    {
        $rows = [];        for ($i = 0; $i < 100; $i++) {
            $rows[] = [                &#39;nickname&#39; => mt_rand(10000, 99999),                &#39;email&#39; => mt_rand(10000, 99999).&#39;@qq.com&#39;,                &#39;password&#39; => md5(&#39;123456&#39;),
            ];
        }        $this->table(&#39;users&#39;)->insert($rows)->save();
    }
}

注意:一定要呼叫

save()

方法,否則不會儲存的。

首先呢,我產生了100條數據,然後呼叫

$this->table('users')->insert($rows)->save(); ### 將產生的資料插入資料庫的###Users### 表中。是不是很簡單? ^ - ^.######執行Seeder######Seeder 檔案定義好了之後,還必須得執行一下資料才能插入到資料庫中,我們可以這樣執行:###
php think seed:run
###執行成功提示: ###All Done. Took 0.0552s###。可以看到:######################## ###############php think seed:run ## #

以上是Thinkphp5 使用composer中seeder播種機的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn