Merhaba,
Hali hazırda;
- Category
- Option
- OptionValue
Modelleri ve tabloları var. Ben ekstra olarak bir tablo daha oluşturdum aralarındaki ilişkiyi daha sağlıklı yakalayabilmek için.
Tablo adı "category_attribute".
Schema::create('category_attribute', function (Blueprint $table) {
$table->foreignId('category_id')->constrained('categories');
$table->foreignId('option_id')->constrained('options');
$table->boolean('required')->default(0);
$table->boolean('variant')->default(0);
});
Bununla Category modeli içerisinde nasıl bir eloquent bağlantı kurabilirim ki örneğin;
if($category->categoryAttribute()->count()) {
//code block
}
gibi bir count yakalayabileyim ?
Düzenleme
public function categoryAttribute()
{
return $this->belongsToMany(Category::class,'category_attribute', 'category_id', 'category_id');
}
bu şekilde denedim çalıştı sanıyorum. Fakat son iki bölümde neden 'category_id' yazmam gerektiğini anlayaladım yani birisi category tablosundaki 'id' alanı olması gerekmiyor mu? 😃