Armin Rahmati
3 سال پیش توسط Armin Rahmati مطرح شد
1 پاسخ

رابطه در لاراول

سلام دوستان.
من میخوام تو یه قسمت از سایتم مقالاتی رو نمایش بدم که فقط جزء دسته بندی تکنولوژی هستند، برای انجام این کار داخل کنترلر چطور باید اینو بنویسم؟
جدول categories:

Schema::create('categories', function (Blueprint $table) {
     $table->id();
     $table->string('name')->unique();
     $table->unsignedBigInteger('category_id')->nullable();
     $table->foreign('category_id')->references('id')->on('categories')->onUpdate('CASCADE')->onDelete('CASCADE');
     $table->timestamps();
});

جدول article_category:

Schema::create('article_category', function (Blueprint $table) {
     $table->foreignId('article_id')->constrained()->onDelete('CASCADE')->onUpdate('CASCADE');
     $table->foreignId('category_id')->constrained()->onDelete('CASCADE')->onUpdate('CASCADE');
     $table->unique(['article_id' , 'category_id']);
});

ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

سلام وقت بخیر ،
خب همینطور که میدونید رابطه چند به چند هست و باید داخل مدل ها belongsToMany رو اضافه کنید...
شما ابتدا باید id اون دسته بندی رو بگیرید مثلا تکنولوژی id = 7 هست

$cat = Category::where('id' , 7)->first();

و با استفاده از رابطه ای که قرار داره مقالات رو نمایش میدیم

return  $cat->articles;

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام