Bagaimana untuk melaraskan bilangan objek yang dibuat dalam Jujukan (Laravel 8)
P粉043566314
P粉043566314 2023-09-04 10:08:32
0
1
470
<p>Saya cuba mencipta 30 item berita menggunakan Seeder dan Factory. Tetapi saya perlu mencipta 10 berita dengan nilai medan bukan nol <code>published_at</code>(Carbon) dan berita lain dengan nilai rawak(Carbon/NULL). </p> <p>Dalam dokumentasi, saya melihat contoh ini, yang mencipta 5 rekod dengan nilai <kod>admin (Y)</code> dan 5 lagi rekod dengan nilai <kod> )</kod>. </p> <pre class="brush:php;toolbar:false;">User::factory() ->kiraan(10) ->nyatakan(Jujukan baharu( ['admin' => 'Y'], ['admin' => 'N'], )) ->buat();</pre> <p>Setakat ini saya menggunakan kod ini tetapi saya tidak dapat memikirkan cara menambah bilangan rekod dengan nilai parameter tertentu <kod>published_at</code>. Sebagai contoh, gunakan Karbon untuk 10 item dan NULL untuk 20 item. </p> <pre class="brush:php;toolbar:false;">/**ArticleSeeder*/ Artikel::kilang() ->kiraan(30) ->nyatakan(Jujukan baharu([ 'published_at' => Kilang::create()->dateTimeBetween( sekarang()->startOfMonth(), sekarang()->endOfMonth() ), ])) ->buat();</pre></p>
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!