Merhaba, herkese iyi günler dilerim. Alt kategori mantığını kullanmak istiyorum. Category, Subcategory adında iki tablo açıp birbirine bağladım. Category modelim;
class Category extends Model
{
use HasFactory;
protected $table = 'category';
public function subcategories()
{
return $this->hasMany(SubCategory::class);
}
}
Subcategory modelim;
class SubCategory extends Model
{
use HasFactory;
protected $table = 'subcategory';
public function category()
{
return $this->belongsTo(Category::class);
}
}
Category migration;
Schema::create('category', function (Blueprint $table) {
$table->id();
$table->string('name');
});
Subcategory migration;
Schema::create('subcategory', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->integer('category_id')->unsigned()->index();
$table->foreign('category_id')->references('id')->on('category');
});
Listeleme aşaması;
@foreach ($categories as $category)
<li>{{ $category->name }}</li>
<ul>
@foreach ($category->subcategories as $subcategory)
<li>{{ $subcategory->name }}</li>
@endforeach
</ul>
@endforeach
Bu şekilde sorunsuz listeliyorum arkadaşlar. Lakin takıldığım nokta bunu tek dizide listelemek. Yani lu şekilde;
Teknoloji > Bilgisayar
bu şekilde listeleyemiyorum. Birde ek olarak sadece 1 tane alt kategori ekleyebiliyorum. Bu sorunları nasıl çözebilirim? Herkese çok teşekkür ederim.