دوستان سلام
چطور میتونم اطلاعات فایل json رو به دیتابیس mysql از طریق فرمان laravel migration انتقال بدم؟
هدف اینه با هر بار php artisan migrate کردن علاوه بر ایجاد جداول ، جدول مورد نظر هم با داده ها پر بشه.
داده الزامی نداره که json باشه.
محتوای داده ها لیست استان ها و شهرهای هر استان هست.
راه دیگری هم اگر پیشنهاد دارید حتما بگید.
متشکرم
بهترین راه برای این جور کارها استفاده از سیدر و فکتوری در لاراول هست
یا میتونید همونجا داخل مایگریشن بعد اینکه جدول ایجاد شد از دستورات insert فساد DB استفاده کنید
@hosseinshirinegad98
متشکرم از راهنمایی ، من با استفاده از ویدئوهای آموزش seeder و factory داده های fake تولید کردم در جدول.
public function definition()
{
return [
'university_name' => $this->faker->name(),
'university_type' => $this->faker->text(),
'University_State' => $this->faker->sentence(5),
'university_city' => $this->faker->text(),
];
}
public function run()
{
Universitys::factory()->count(50)->create();
}
لطفا راهنمایی کنید چطور بجای faker از اطلاعات فایل Json بتونم همشون رو باهم موقع اجرای دستور زیر create کنم.
php artisan migrate --seed
سلام فایل جیسان رو باید با php تبدیل به آرایه کنید و بعد دیگه اون ارایه رو پیمایش میکنید و میتونید اینسرت تو جدول رو انجام بدید .به فرض شما یه فایل جیسان در مسیر public پروژه دارید به این صورت میشه عمل کرد.
public function run()
{
$json = file_get_contents(public_path('json.json'));
$array = json_decode($json, true);
foreach ($array as $value) {
\DB::table('universities')->insert([
'university_name' => $value['university_name'],
'university_type' => $value['university_type'],
'University_State' => $value['University_State'],
'university_city' => $value['university_city'],
]);
}
}
اینجا چون شما داده از قبل دارید دیگه نیاز به فکتوری ندارید و همین سیدر که ران بشه کافی هست.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟