Почему не работает последний метод в приложении Laravel 5.6? - PullRequest
0 голосов
/ 04 ноября 2018

работает с laravel 5.6, и в моем приложении у меня есть поиск ввода в индексном блейде с использованием algolia. index.blade.php

<form method="GET" action="{{ url('search') }}">
      {{csrf_field()}}
            <div class="row">
                <div class="col-md-6">
                    <input type="text" name="search" class="form-control" placeholder="Search">
                </div>
                <div class="col-md-6">
                    <button class="btn btn-info">Search</button>
                </div>
            </div>
        </form>

        <br> 

@forelse( $vehicles as $vehicule )


                    @if( $vehicule->uploads->count() > 0 )
                        <a href="{{ route('vehicles.show', $vehicule->id) }}">
                            @php
                                $upload = $vehicule->uploads->sortByDesc('id')->first();
                            @endphp

                            <div style="border-style: solid; background-color: {{ $vehicule->adtype === 1 ? '#FFEFD5' : '#FFFFFF' }} ">
                            <img src="/images/{{ $upload->resized_name }}" height="150" width="250"></a>


                        {{ Carbon\Carbon::parse($vehicule->created_at)->diffForHumans()}} 
                            {{$vehicule->provincename}}
                          {{$vehicule->milage}}

                          </div>
<br>
                           <hr>

                    @endif

            @empty
                <td>No Advertisment to display.</td>
            @endforelse

</div>

</div>
</div>
{{ $vehicles->links() }}
</div>
@endsection

и я установил нумерацию страниц с файлом индексного диска.

и это SearchController @ search function.

public function search(Request $request)
    {
$vehicles =  Vehicle::search($request->get('search'))->orderBy('adtype','DESC')

            ->latest('updated_at')
            ->paginate(10);
        return view('vehicles.index', compact('vehicles'));
    } 

но когда я ввожу какие-то значения в поле поиска и вводу кнопку поиска

following error is occurred.
1/1) BadMethodCallException

Method latest does not exist.

как можно решить эту проблему?

редактировать результат дд

Builder {#375 ▼
  +model: Vehicle {#372 ▶}
  +query: "gampaha"
  +callback: null
  +index: null
  +wheres: []
  +limit: null
  +orders: array:1 [▶]
}

обновленная модель автомобиля

use Searchable;
     protected $guarded = [];

    public function searchableAs()
    {
        return 'categoryname';
    }

1 Ответ

0 голосов
/ 04 ноября 2018

попробуйте это и скажите, что вы получите

Vehicle::where('column1', 'like', '%' . $request->get('search') . '%')->orWhere('column2', 'like', '%' . $request->get('search') . '%')->orderBy('adtype', 'DESC')   ->latest('updated_at')   ->paginate(10);

И поделитесь методом поиска внутри модели вашего автомобиля.

...