🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۱۰ زینب ابتکار
مقداردهی در جدول
جامعه لاراول ایجاد شده در ۲۶ تیر ۱۴۰۲

سلام ببخشید من ستون‌های جدول productsرو ایجاد کردم ولی میخوام به ایدی اول مثلا مقدار 200 تومن بدم و یا ایدی دوم مقدار 100 تومن بدم چ جوری باید مقدار دهی کنم

public function up(): void
{
    Schema::create('products', function (Blueprint $table) {
        $table->id();
        $table->float('price');
        $table->foreignId('transaction_id');
    });
}

اینم اینجوری نوشتم

سلام، میتونید از Seeder‌ها و Factory‌ها استفاده کنین تا داده‌های اولیه رو داشته باشین.

کیاوش رنگرز ۲۶ تیر ۱۴۰۲، ۰۸:۳۹

ببخشید دقیقا میتونید بگید چجوریباید انجام بدیم توی فیلم‌ها توضیح ندادند که اگر بخواهیم مقادیر متفاوت بدیم ک فیکر هم نباشند مثلابرای priceچجوری باید مقدار دهی کنیم که همه رو باهم ذخیره کند

زینب ابتکار ۲۶ تیر ۱۴۰۲، ۱۱:۰۰

سلام

داخل فکتوریتون از متد randomElement فیکر استفاده کنید که ۱۰۰ و ۲۰۰ رو رندوم بزاره.

$faker->randomElement([100,200]);
مهندس آمنه خداپناهی ۲۶ تیر ۱۴۰۲، ۱۱:۱۸

من نمیخوام رندوم باشه میخوام به priceخودم مقادیر بدم و در یک دستور باشه که توی هاست همش در جدول insert بشه

زینب ابتکار ۲۶ تیر ۱۴۰۲، ۱۱:۲۰

خب متد create رو که از فکتوری صدا میزنید به عنوان یک آرایه keyValue مقدار price رو ست کنید.

Product::factory()->create(['price'=>200]);
مهندس آمنه خداپناهی ۲۶ تیر ۱۴۰۲، ۱۵:۳۵

خب درسته من میخوام با همین دستور دوتا مقدار بدم ک یکیش برای. Id اول ودومیش برای idدوم اینو چ جوری مقدار بدم

زینب ابتکار ۲۶ تیر ۱۴۰۲، ۱۷:۴۱

آیدی دوم هم با مدل ترنسکشن ایجاد کنید و به آرایه بدید.

مهندس آمنه خداپناهی ۲۶ تیر ۱۴۰۲، ۱۸:۱۲

چ جوری باید انجام بدم

زینب ابتکار ۲۶ تیر ۱۴۰۲، ۱۸:۱۴
Product::factory()->create(['price'=>200,'transaction_id'=>Transaction::factory()->create()]);

و آیدی رو دریافت کنید.

مهندس آمنه خداپناهی ۲۶ تیر ۱۴۰۲، ۱۸:۳۴

اونوقت دقیقا چ جوری به‌price دوتا مقدار با دوتا ایدی مختلف بدم یکی مقدار ۱۰۰ یکی مقدار دویست منظورم اینه در جدول price دوتا سطر با دوتا مقدار ۱۰۰و۲۰۰

زینب ابتکار ۲۶ تیر ۱۴۰۲، ۱۹:۳۷