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

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

سلام وقتی رویه دسته بندی محصولات کلیک می کنم خطای 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="/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

ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
0

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


احمد
@ahmad316948 4 سال پیش مطرح شد
0

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


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 4 سال پیش مطرح شد
1

در اینجا

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

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

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