using these tables I need to make category filter
Food Table: Migration
   $table->bigIncrements('id');
            $table->unsignedBigInteger('category_id')->nullable();
            $table->unsignedBigInteger('image_id')->nullable();
            $table->string('name')
            $table->float('price',9,2)->default(0);
            $table->float('offer_price',9,2)->nullable()->default(0);
            $table->boolean('visible')->default(0);
            $table->timestamps();
categories table: Migration
Schema::create('categories', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->unsignedBigInteger('parent_id')->nullable();
            $table->unsignedBigInteger('image_id')->nullable();
            $table->boolean('visible')->default(0);
            $table->timestamps();
        });
Food Model relation
    public function category()
    {
        return $this->belongsTo(Category::class, 'category_id')->withDefault();
    }
Category Model relation
 public function food()
    {
        return $this->hasMany(Food::class)->orWhereIn('category_id' , $this->subcategory()->pluck('id')->toArray())->visible();
    }
    public function subcategory()
    {
        return $this->hasMany(self::class, 'parent_id', 'id');
    }
````[When clicking on any category it should show food, that related to the category I clicked on ][1]
  [1]: https://i.stack.imgur.com/zpVb8.png
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire