Sa tuwing mayroon kang proyekto ng admin na walang pahina ng pag-signup, ano ang iyong gagawin? Ibig kong sabihin, kailangan mong lumikha ng kahit isang admin user. Kaya karaniwang maaari siyang mag-log in at ma-access ang buong admin panel. Ngunit wala kang pahina ng pag-sign up sa front end. ikaw lang ang may login page. Kaya maaari kang lumikha ng isang admin user nang direkta mula sa database?, kung oo, dapat kang palaging lumikha ng isang bagong admin user mula sa database nang direkta kapag lumikha ka ng isang bagong configuration ng iyong proyekto. Ngunit imumungkahi ko sa iyo na lumikha ng admin seeder upang makagawa ka ng admin user gamit ang laravel 8 seeder. Mag-fire on command lang para magpatakbo ng seeder sa laravel 8.
Parehong mga bagay, kung mayroon kang pre settings na configurationdefigabi, maaari kang lumikha ng isang setting seeder at idagdag ang pre configurationdefinakalagay sa talahanayan ng database.
Ang Laravel ay nagbibigay ng isang madaling paraan upang i-seed ang data ng pagsubok sa isang database gamit ang mga klase ng seeder. Maaari mong i-seed ang iyong database sa Laravel upang magdagdag ng pekeng data sa iyong database para sa mga layunin ng pagsubok.
Una, lumikha kami ng isang seeder na may sumusunod na utos:
php artisan make:seeder UserSeeder
Pagkatapos patakbuhin ang command, magkakaroon kami ng isang file UserSeeder.php sa folder seeds
. Ang mga klase seed
ay naka-imbak sa direktoryo database/seeders
.
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
User::create([
'name' => 'John Jackson',
'email' => 'john@jackson.com',
'mobile' => '123456789',
'password' => Hash::make('john@123')
]);
}
}
Ngayon tingnan natin kung paano natin matatawag ang iba pang mga seeder. Ang paraan ng pagtawag ay ginagamit upang magsagawa ng mga karagdagang klase ng binhi sa loob ng klase ng DatabaseSeeder. Ito ay nagpapahintulot sa iyo na hatiin ang iyong database seeding sa maramihang mga file upang walang solong seeder class na masyadong malaki. Ang paraan ng tawag ay tumatanggap ng hanay ng mga klase ng seeder na kailangang isagawa.
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call([
UserSeeder::class,
PostSeeder::class,
]);
}
}
Utos na patakbuhin ang seeder
php artisan db:seed
Utos na magpatakbo ng isang seeder nang paisa-isa
php artisan db:seed –class=UserSeeder
Maaari mo ring patakbuhin ang seeding
ng database gamit ang command migrate:fresh
kasabay ng opsyon –seed
. Ibinabagsak ng utos na ito ang lahat ng mga talahanayan, muling pinapatakbo ang lahat ng paglilipat, at muling itinatayo ang database.
php artisan migrate:fresh --seed
Ercole Palmeri
Maaari mo ring gusto:
Noong nakaraang Lunes, inihayag ng Financial Times ang isang deal sa OpenAI. Nilisensyahan ng FT ang world-class na pamamahayag nito...
Milyun-milyong tao ang nagbabayad para sa mga serbisyo ng streaming, na nagbabayad ng buwanang bayad sa subscription. Karaniwang opinyon na ikaw ay…
Ang Coveware ng Veeam ay patuloy na magbibigay ng mga serbisyo sa pagtugon sa insidente ng cyber extortion. Mag-aalok ang Coveware ng mga kakayahan sa forensics at remediation...
Binabago ng predictive maintenance ang sektor ng langis at gas, na may makabago at proactive na diskarte sa pamamahala ng halaman.…