Hai,
Artikel ini akan memberikan beberapa contoh terpenting laravel 8 contoh factory tinker. Anda akan mempelajari factory seeder laravel 8. langkah demi langkah menjelaskan factory laravel 8. Pada artikel ini, kami akan menerapkan tutorial factory laravel 8. Mari kita lihat contoh di bawah ini menghasilkan dummy record laravel 8.
Seperti yang kita ketahui, pengujian adalah bagian yang sangat penting dari setiap proyek pengembangan web. Terkadang kami mungkin perlu menambahkan ratusan record di tabel users Anda, ATAU mungkin ribuan record. Juga pikirkan apakah Anda perlu memeriksa pagination. maka Anda harus menambahkan beberapa catatan untuk pengujian. Jadi apa yang akan Anda lakukan pada saat itu, Anda akan menambahkan ribuan catatan secara manual? Apa yang kamu lakukan ?. Jika Anda menambahkan ribuan catatan secara manual maka ini bisa memakan waktu lebih lama.
Namun, Laravel memiliki tinker yang menyediakan untuk membuat catatan tiruan ke tabel model Anda. jadi di aplikasi laravel mereka menyediakan pabrik model User yang dibuat secara default. jadi Anda bisa melihat cara membuat record menggunakan factory di bawah ini:
Generate Dummy Users:
php artisan tinker
User::factory()->count(5)->create()
Ini secara default membuat factory laravel. Anda juga dapat melihatnya di url berikut: database/factory/UserFactory.php.
Create Custom Factory:
Tetapi ketika Anda perlu membuat catatan dummy untuk produk, item, atau tabel admin Anda, maka Anda harus membuat pabrik baru menggunakan perintah tinker. di sini saya akan memberikan contoh sederhana membuat pabrik produk dan Anda akan mengerti cara kerjanya. jadi mari buat Model Produk seperti di bawah ini:
app\Models\Product.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
use HasFactory;
protected $fillable = [
'name', 'slug', 'detail'
];
}
sekarang mari buat pabrik custom kami menggunakan perintah di bawah ini:
php artisan make:factory ProductFactory --model=Product
Sekarang mereka membuat celas factory baru untuk produk dan Anda dapat menambahkan kode di bawah ini:
database\factories\ProductFactory.php
<?php
namespace Database\Factories;
use App\Models\Product;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class ProductFactory extends Factory
{
/**
* The name of the factory's corresponding model.
*
* @var string
*/
protected $model = Product::class;
/**
* Define the model's default state.
*
* @return array
*/
public function definition()
{
return [
'name' => $this->faker->name,
'slug' => Str::slug($this->faker->name),
'detail' => $this->faker->text,
];
}
}
Menggunakan Faker Anda dapat digunakan untuk menghasilkan tipe data berikut:
Numbers
Lorem text
Person i.e. titles, names, gender etc.
Addresses
Phone numbers
Companies
Text
DateTime
Internet i.e. domains, URLs, emails etc.
User Agents
Payments i.e. MasterCard
Colour
Files
Images
uuid
Barcodes
Seperti yang Anda lihat di atas, Anda cukup menggunakan tipe data. Sekarang kita akan membuat 500 catatan tabel produk dengan perintah berikut:
php artisan tinker
Product::factory()->count(500)->create()
Jadi saya harap Anda membuat 500 catatan dummy Anda pada tabel produk.
Keluaran:
Saya harap ini dapat membantu Anda ...
factory tinker laravel 8 example