راکت

خطای Collection:appends does not exist در لاراول

3 پاسخ

سلام وقتی رویه دسته بندی محصولات کلیک می کنم خطای Method Illuminate\Database\Eloquent\Collection::appends does not exist. (View: C:\xampp\htdocs\amlak\resources\views\home\products.blade.php) میده.
سورس کنترل

public function filterCategory($id)
    {

        $category = Category::where('id', $id)->with('products')->firstOrFail();
        $products = $category->products;

        return view('home.products', compact('products'));
    }

سورس ویو

@extends('layouts.app')

@section('content')
<div class="container">

<div>
<div class="row">
    <div class="col-12 col-md-12 mt-4">
        <div class="product-style1" >

        <div class="card-body background-pro">
       <div class="product-style2" >
              <span class="title "></span>
        </div>
      <form  action="/filter"> 
        <div class="row mt-5 form-group row">

        <div class="col-md-3  d-flex" >
            {{--
            <label for="exampleFormControlSelect1" class="col-sm-2 col-md-3 col-form-label">موقعیت</label>
            --}} 
            <p class="col-form-label style-width-product">موقعیت</p>
             <div class="col-sm-10 col-md-10">
         <select class="form-control" name="address" id="categories">

                    <option value="all">همه </option>
                        @foreach (\App\Address::all() as $address)
                          <option value="{{$address->id}}" {{ request('address') == $address->id ? 'selected' : '' }}>{{$address->name}}</option>

                        @endforeach

            </select>
         </div>
         </div>

         <div class="col-md-5 d-flex">
          <p class="col-form-label style-width-product">دسته بندی</p>
          <div class="col-sm-10 col-md-10">
               <select class="form-control" name="categories" id="categories">
                        <option value="all">همه دسته بندی ها</option>
                        @foreach (\App\Category::all() as $category)
                          <option value="{{$category->id}}"{{ request('categories') == $category->id ? 'selected' : '' }} >{{$category->name}}</option>

                        @endforeach

               </select>
          </div>
         </div>

         <div class="col-md-4 d-flex" >
         <p class="col-form-label ">نوع آگهی </p>
         <div class="col-sm-10 col-md-10">
          <select class="form-control" name="types" id="types">
              <option value="all">همه </option>
            @foreach (\App\type::all() as $types )

                  <option value="{{ $types->id }}" {{ request('types') == $types->id ? 'selected' : ''  }}>{{ $types->name }}</option>

              @endforeach
           </select>
         </div>
         </div>

            <div class="col-md-3 col-sm-12 mr-3 mt-3 d-flex">
                      <label class="checkbox-inline">
                                <input type="checkbox" name="order" value="1" {{request('order') == '1' ? 'checked' : ''}}> نمایش بر اساس قدیمی ترین
                      </label>           
            </div>

        </div>

        <div class="d-flex mt-3">
           <button class="btn btn-primary btn-lg" type="submit">فیلتر</button>
        </div>
        </form>

</div>
 </div>
  </div>
   </div>

    </div>
      </div>
      <div class="container mb-5">

      @if (request('search'))
      <p class="mt-3">نتایج جستجو برای کلمه <span class="text-success font-weight-bold">{{request('search')}}</span></p>

      @endif
    <div class="row">

           @foreach ($products as $product)
               <div class="card-deck text-center col-12 col-md-4 mt-4"  >
                    <div class="card card-prct-style">
                    <div class="position-absolute style-tag-product  card-text text-center" >
                     @foreach($product->type as $typ)
                                 <span>{{$typ->name}} </span>             

                                    @endforeach

                             </div> 
                        <img class="card-img-top" width="400" height="300" src="{{ url($product->image ) }}" alt="Card image cap">

                        <div class="card-body">

                        <h5 class="card-title">{{$product->title}}</h5>
                        <p class="card-text">@if ($product->address)
                                @foreach($product->address as $addr)
                                <i class="fas fa-map-marker-alt"></i>             
                                          {{$addr->name}}
                                    @endforeach
                            @endif</p>

                        <p class="card-text"><small class="text-muted">

                        {{jdate($product->created_at)->ago() }}
                        </small></p>
                         <a href="https://roocket.ir/products/{{$product->id}}" class="btn shadow  btn-outline-success">دیدن جزئیات</a>
                        </div>
                    </div>
                  </div>

           @endforeach

    </div>

    </div>
    <nav aria-label="Page navigation example">
      <ul class="pagination justify-content-center">
              {{ $products->appends([ 'address' => request('address') , 'types' => request('types') , 'categories' => request('categories')])->render() }}
      </ul>
    </nav>

</div>
@endsection
ثبت پرسش جدید

پاسخ‌ها

3
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

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

احمد
احمد
@ahmad316948

@hesammousavi
سلام مهندس. دقیقا مشکل من همینه. نمیدونم کجای کد paginate () رو قرار بدم. هرجای از کد که قرار میدم خطا میده

شاید پاسخ شما همین‌جا باشد

حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

در اینجا

$products = $category->products()->paginate(20);

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

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