سلام
من میخام یک منو برای سایتم طراحی کنم که حالت روبرو را داشته باشه brand->parent برای مثال (parent)Apple(brand)->iphone .
من دوتا جدول به نام parent و brand دارم به شکل زیر
Schema::table('parents', function (Blueprint $table) {
$table->integer('brand_id')->unsigned();
$table->foreign('brand_id')->references('id')
->on('brands')->onDelete('cascade');
Schema::table('parents', function (Blueprint $table) {
$table->integer('brand_id')->unsigned();
$table->foreign('brand_id')->references('id')
->on('brands')->onDelete('cascade');
و Model ها هم به شکل زیر هستند :
مدل parent
class parents extends Model
{
protected $table = "parents";
protected $guarded = ['id'];
public function brand()
{
return $this->hasMany(brands::class, 'brand_id');
}
}
و مدل brand :
class brands extends Model
{
protected $table="brands";
protected $guarded = ['id'];
public function category()
{
return $this->belongsTo(categories::class);
}
public function parent()
{
return $this->belongsTo(parents::class,'brand_id');
}
}
و توی کنترلر به این شکل فراخوانی میکنم :
$brands = brands::with('parent')->get();
و توی blade هم به این صورت هست :
@foreach($brands as $category)
@if($category->has('parent'))
<li>
<a href="#"><i class="text-orange"></i> <span class="text-orange">{{$category->name}}</span>
<i class=""></i></a>
<ul class="treeview-menu">
@foreach($category->parent as $subcategory)
<li class=""><a href="#"><span class="text-orange">{{$category->name}}</span></a></li>
@endforeach
</ul>
</li>
{{-- @else--}}
{{-- <li><a href="#"><i class="fa fa-link"></i> <span>{{ $category->name }}</span></a></li>--}}
@endif
@endforeach
ولی مشکلی که هست این هست که توی منو 5 بار Apple که برند هست را نشون میده
نمیدونم مشکل از کجاست واقعا !!!
اگه کسی بتونه کمکم کنه خیلی ممنون میشم