یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهاسلام من یه فرمی دارم شبیه زیر است
میخواستم بدونم با استفاده از دیتابیس چطوری میشه جدول ها را ایجاد کرد؟
این فرم یک دسته بندی داره و هر دسته میتواند چندین گروه داشته باشه و هر گروه میتواند چندین زیر گروه داشته باشه
مانند تصویر
برند و رنگ هم گروه است و اپل و سامسونگ و آبی و قرمز میشه زیر گروه
چیزی که من ایجاد کردم چچهار تا جدول است
public function up()
{
Schema::create('check_boxes', function (Blueprint $table) {
$table->id();
$table->foreignId('filter_id')->constrained()->cascadeOnDelete();
$table->string('checkbox');
$table->timestamps();
});
}
public function up()
{
Schema::create('colors', function (Blueprint $table) {
$table->id();
$table->string('color_name');
$table->string('color_code');
$table->timestamps();
});
}
public function up()
{
Schema::create('filters', function (Blueprint $table) {
$table->id();
$table->foreignId('category_id')->constrained()->cascadeOnDelete();
$table->string('name');
$table->string('latin');
$table->boolean('field');
$table->timestamps();
});
Schema::create('color_filter', function (Blueprint $table) {
$table->foreignId('color_id')->constrained()->cascadeOnDelete();
$table->foreignId('filter_id')->constrained()->cascadeOnDelete();
$table->primary(['color_id', 'filter_id']);
});
}
مشکل من این است که چطوری بفهمونم فلان زیر گروه والد فلان گروه است parent_id را در کجای جدول بالا قرار بدهم
public function store(Request $request)
{
if ($request->filters) {
foreach ($request->filters as $filter) {
$filter = Filter::create([
'name' => $filter['name'],
'latin' => $filter['latin'],
'field' => $filter['field'],
'category_id' => $request->category_id,
]);
}
if ($request->checkbox) {
foreach($request->checkbox as $key => $checkbox) {
$filter->checkBoxes()->create([
'filter_id' => $filter->id,
'checkbox' => $request->checkbox[$key],
]);
}
}
$filter->colors()->attach($request->color_id);
}
return redirect()->route('filters.index');
}
الان این کد بالا درست کار میکند و ذخیره سازی را انجام میدهد و خطا ندارد و مشکل من اینه parent_id را چجوری سیو کنم؟؟؟
اگر جایی هست که آنرا اشتباه وارد کردم همه کد را اصلاح کنید.
مثل این ![عکس][2]
که مثلا کارت حافضه و رنگ ها میشه گروه و فاقد قابلیت دریافت کارت حافظه و پشتیبانی از کارت حافظه جانبی و مشکی ، آبی ، سبز و........... هم میشه زیرگروه آدرس بار سمت راست.
مشکل من فیلد parent_id است که چطوری بفهمونم فلان زیر گروه والد فلان گروه است
با تشکر
سلام
پرسش رو می تونستید بهتر عنوان کنید الان آشفته به نظر میرسه. نامگذاری ها مناسب نیست!
برای اینکه مقداری سروسامان بگیره اسامی بهتری برای تیبل ها انتخاب کنید.
مثلا رنگ یک ویژگی از لیست ویژگی های نامحدود دیگه است ولی شما یه تیبل به اون اختصاص دادید. بهتره به جای تیبل colors یک تیبل ویژگی مثلا property ایجاد کنید تا از نظر اسمی ویژگی های بیشتری رو شامل بشه.
من هم جدول را عوض کردم و هم همه کدها (blade و controller و view) را هم عوض کردم ولی شبیه این عکس دمو است چیزهایی که در جدول دارم به نام های filters و values و color_filter است. که به درستی ذخیره میشوند.
مشکل من این است که چطوری میشه فراخوانی کرد؟
آیا نیاز به جدول میانی دارد؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟