Rumah > pembangunan bahagian belakang > tutorial php > Mengoptimumkan penciptaan data kilang dengan kaedah kitar semula Laravel ' s

Mengoptimumkan penciptaan data kilang dengan kaedah kitar semula Laravel ' s

百草
Lepaskan: 2025-03-06 02:08:09
asal
844 orang telah melayarinya

Optimizing Factory Data Creation with Laravel's recycle Method

sistem kilang Laravel menawarkan kaedah

yang kuat untuk penciptaan data yang cekap. Kaedah ini amat berguna apabila membina struktur data yang kompleks dengan hubungan yang saling berkaitan, mengelakkan instantiasi model yang berlebihan. Kaedah recycle menggunakan semula contoh model sedia ada di pelbagai panggilan kilang, meningkatkan prestasi. recycle

mari kita menggambarkan dengan senario e-dagang untuk ujian:

<?php namespace Tests;

use App\Models\Store;
use App\Models\Product;
use App\Models\Category;
use App\Models\Order;
use Tests\TestCase;

class StoreTest extends TestCase
{
    public function test_sales_report_generation()
    {
        // Establish foundational data
        $store = Store::factory()->create();
        $categories = Category::factory(3)->recycle($store)->create();

        // Populate categories with products
        $products = Product::factory(20)->recycle($store)->recycle($categories)->create();

        // Generate orders referencing existing products
        $orders = Order::factory(50)->recycle($store)->recycle($products)->create()->each(function ($order) use ($products) {
            // Assign random products to each order
            $orderProducts = $products->random(rand(1, 5));
            $order->products()->attach(
                $orderProducts->pluck('id')->mapWithKeys(function ($id) {
                    return [$id => ['quantity' => rand(1, 5)]];
                })
            );
        });

        // Validate report generation
        $report = $store->generateSalesReport();
        $this->assertNotNull($report);
        $this->assertEquals(50, $report->total_orders);
    }
}
Salin selepas log masuk
Contoh ini menunjukkan bagaimana

menyelaraskan penciptaan pangkalan data ujian. Daripada berulang kali mencipta recycle, Store, dan Category contoh, kaedah Product menggunakannya semula, mengakibatkan pelaksanaan ujian yang lebih cepat dan penggunaan sumber yang dikurangkan. Ini amat bermanfaat apabila berurusan dengan dataset besar atau hubungan rumit dalam model aplikasi anda. recycle

Atas ialah kandungan terperinci Mengoptimumkan penciptaan data kilang dengan kaedah kitar semula Laravel ' s. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan