?給大家演示一下如何快速填充數(shù)據(jù)表中的數(shù)據(jù)(推薦學(xué)習(xí):laravel教程)
如果你想用seeder來填充數(shù)據(jù)請?zhí)D(zhuǎn):laravel教程
laravel5 使用tinker factory在數(shù)據(jù)表中添加測試數(shù)據(jù)通過使用 Laravel artisan 內(nèi)建的 php artisan tinker , 我們可以很方便的看到數(shù)據(jù)庫中的數(shù)據(jù)并且執(zhí)行各種想要的操作。Laravel Tinker是Laravel框架的強(qiáng)大REPLREPL 是指 交互式命令行界面,它可以讓你輸入一段代碼去執(zhí)行,并把執(zhí)行結(jié)果直接打印到命令行界面里。通常情況下,我們可以使用 Laravel 的模型工廠( model factory )來快速填充我們的數(shù)據(jù)庫,它可以幫我向數(shù)據(jù)庫插入偽數(shù)據(jù)方便我們測試?,F(xiàn)在讓我們開始使用 tinker 吧。
下面需要先安裝laravel/tinker
composer?require?laravel/tinker
?在控制臺中,執(zhí)行php artisan tinker命令方可使用
打開database文件夾下的factories文件UserFactory.php文件(此文件默認(rèn)存在, 直接在這里面進(jìn)行操作)
也可以通過命令來創(chuàng)建相應(yīng)的factory
?php?artisan?make:factory?ArticleFactory
編寫相應(yīng)的要添加的數(shù)據(jù)
<?php use FakerGenerator as Faker; $factory->define(AppModelsArticle::class,?function?(Faker?$faker)?{ ????return?[ ???????'user_id'?=>?rand(1,10), ???????'type_id'?=>?rand(1,5), ???????'title'?=>?$faker->sentence, ???????'content'?=>?$faker->paragraph, ????]; });
運(yùn)行php artisan tinker進(jìn)入tinker
factory方法的第一個(gè)參數(shù)為對應(yīng)的Model類, 第二個(gè)參數(shù)為填充條數(shù)
factory(AppModelsArticle::class,10)->create();
傳完參數(shù)后調(diào)用create方法回車看見填充的數(shù)據(jù)出現(xiàn),查看數(shù)據(jù)庫,數(shù)據(jù)成功寫入,均是隨機(jī)生成的。
生成測試數(shù)據(jù)就完成了
exit退出tinker 命令行