Postingan lainnya
Seeding laravel 5.7
maaf nih saya mau nanya kalau cara untuk tambahain banyak data sekaligus menggunakan seeding laravel itu gimana ya? maaf saya nanya, soalnya saya sudah baca Documentation dan masih kurang paham, disamping itu juga b.inggris saya kurang, mohon bantuanya ya teman"
2 Jawaban:
Jawaban Terpilih
Step by step berdasarkan [link](dokumentasi seeding laravel) https://laravel.com/docs/5.7/seeding [/link]:
-
bikin file seedernya, contoh seed user <pre> php artisan make:seeder UsersTableSeeder</pre> yang ada di metode run akan dijalankan saat run command db:seed
-
Di metode run kamu bisa menambahkan field dan data yang dimau, contoh mengisi nama, email dan password <pre> public function run() { DB::table('users')->insert([ 'name' => str_random(10), 'email' => str_random(10).'@gmail.com', 'password' => bcrypt('secret'), ]); } </pre>
2.2 Dengan cara diatas kamu baru membuat satu user, tentu cape bikin satu per satu kalau banyak, karena itu kita bisa memanfaatkan <a href='https://laravel.com/docs/5.7/database-testing#writing-factories '>https://laravel.com/docs/5.7/database-testing#writing-factories </a> File Factory dibikin di database/factories/namanya.php, sebagai contoh disana ada "database/factories/UserFactory.php" disitu sudah ada cara membuat kolom untuk user, untuk table lainnya bisa mengikut pola yang sama. Sekarang karena factory/pabrik nya sudah ada tinggal kita pake loop untuk membuat langsung banyak
<pre> public function run() { //ini contohnya kamu bikin postingan bukan user factory(App\User::class, 50)->create()->each(function ($user) { $user->posts()->save(factory(App\Post::class)->make()); }); } </pre>
- Menjalankan seed dengan command
<pre> php artisan db:seed //semua file seed php artisan db:seed --class=UsersTableSeeder //satu file seed specifc </pre>
Ini versi video <a href=' https://sekolahkoding.com/kelas/tdd-test-driven-development-di-laravel/video/seeding-data-dan-intro-testing '>kelas contoh seeding data di laravel</a>
Oke bang thanks banget, atas bantuanya dan penjelasannya