محمود خسروی
4 سال پیش توسط محمود خسروی مطرح شد
1 پاسخ

لینک دسته ها در منو

ما یه دسته داریم به نام کمیته ها
که از جدول دسته بندی میاد نمایش میدهد

AppServiceProvider.php

public function register()
{
Schema::defaultStringLength(191);
view()->composer('*', function($view) {
    $view->with('catCommittee', Category::where('parent_id',16)->get());
});
}

header.blade.php

<li class="nav-item dropdown has-mega-menu position-static">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button"
   aria-haspopup="true" aria-expanded="false">
    {{ __('message.menu.committees') }}
</a>

<div class="dropdown-menu w-100">
    <div class="px-0 container">
        <div class="row">
            @if (isset($catCommittee))
                @foreach($catCommittee->split($catCommittee->count()/1) as $row)
                    <div class="col-md-4">
                        @foreach($row as $committee)
                            @if(app()->getLocale() == 'fa')
                                <a class="dropdown-item text-right"
                                   href="{{ $committee->committees->path() }}">{{ $committee->name }}</a>
                            @else
                                <a class="dropdown-item text-right"
                                   href="{{ $committee->committees->path() }}">{{ $committee->title_en }}</a>
                            @endif
                        @endforeach
                    </div>
                @endforeach
            @endif
        </div>
    </div>
</div>
</li>

Category.php

public function committees()
{
return $this->belongsToMany(Committee::class,'category_committee','category_id','committee_id');
}

Committee.php

public function path()
{
$locale = app()->getLocale();
return "/$locale/committee/$this->slug";
}

Method Illuminate\Database\Eloquent\Collection::path does not exist.


ثبت پرسش جدید
mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 4 سال پیش مطرح شد
1

نمیتونید روی کالکشن متد path رو اجرا کنید. دقت کن که متد path به ازای هرکدوم از ایتم ها تعریف میشه! کالکشن مجموعه ای از ایتم ها هست!!! یعنی تو ۱۰۰ تا ایتم داری بعد میاد path رو روی اونا اجرا میکنی! از کجا بدونه که منظورت با کدوم ایتم هست؟؟؟؟ بهتره از یه حلقه ی foreach استفاده کنی.


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

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