Bagaimana untuk melaraskan bilangan objek yang dibuat dalam Jujukan (Laravel 8)
P粉043566314
P粉043566314 2023-09-04 10:08:32
0
1
428

Saya cuba mencipta 30 item berita menggunakan Seeder dan Factory. Tetapi saya perlu mencipta 10 berita dengan nilai medan bukan nol published_at(Carbon) dan berita lain dengan nilai rawak(Carbon/NULL).

Dalam dokumentasi, saya melihat contoh ini, yang mencipta 5 rekod dengan nilai admin (Y) dan 5 lagi rekod dengan nilai ).

User::factory() ->kiraan(10) ->nyatakan(Jujukan baharu( ['admin' => 'Y'], ['admin' => 'N'], )) ->buat();

Setakat ini saya menggunakan kod ini tetapi saya tidak dapat memikirkan cara menambah bilangan rekod dengan nilai parameter tertentu published_at. Sebagai contoh, gunakan Karbon untuk 10 item dan NULL untuk 20 item.

/**ArticleSeeder*/ Artikel::kilang() ->kiraan(30) ->nyatakan(Jujukan baharu([ 'published_at' => Kilang::create()->dateTimeBetween( sekarang()->startOfMonth(), sekarang()->endOfMonth() ), ])) ->buat();

P粉043566314
P粉043566314

membalas semua (1)
P粉957723124

Dalam penutupan jujukan, anda mempunyai akses kepada sifat $index, yang mengandungi bilangan lelaran melalui jujukan setakat ini.

Berikut ialah logik paling mudah yang boleh anda gunakan untuk mencapai hasil yang anda inginkan.

Article::factory() ->count(30) ->sequence(fn ($sequence) => [ 'published_at' => $sequence->index < 10 ? Factory::create()->dateTimeBetween( now()->startOfMonth(), now()->endOfMonth() ); : null ]) ->create();
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!