Мой маршрут:
Route::get('/app/search', ['as' => 'search', 'uses' => 'AppController@getSearch']);
Мой контроллер:
public function getSearch()
{
$searchTerm = Input::get('s');
$locs = Loc::whereRaw('match(title, description) against(? in boolean mode)', [$searchTerm])
->paginate(10);
$locs->getFactory()->setViewName('pagination::slider');
$locs->appends(['s' => $searchTerm]);
$this->layout->with('title', 'Search: ' . $searchTerm);
$this->layout->main = View::make('home')
->nest('content', 'index', ($locs->isEmpty()) ? ['notFound' => true] : compact('locs'));
}
URL-адрес, который я получаю: «www.example.com/app/search?s=search+term»
Я хотел бы получить: «www.example.com/app/search?s=search+term#result», чтобы перейти непосредственно к элементу результата.
Я пытался использовать $locs->fragment('result')->links();
как в контроллере, так и в представлении, но ничего не изменилось.
Люди просят больше информации, например, чтобы показать, где генерируется URL, но проблема в том, что я не знаю этого. Ни Маршрут, ни Контроллер, ни Вид не кажутся ответственными за это.
Что странного в этом то, что я не могу понять, как генерируется URL, я подумал, что:
$locs->appends(['s' => $searchTerm]);
несет ответственность за это, но даже если я удалю эту строку, ничто не изменится в URL.
Так что я действительно застрял на этом, документы Laravel не помогают, и я не могу найти документы или помощь в Интернете.
Я создал обходной путь с JQuery:
@if($orders->hasPages())
<div class="section">
<div class="section__content hash-pagination" data-hash="promo-orders">
{!! $orders->appends(request()->all()) !!}
</div>
</div>
@endif<script>
$(document).ready(function () {
$('.hash-pagination').each(function(element){
var hash = $(this).data('hash');
var links = $(this).find('a');
links.each(function(link){
var href = $(this).attr('href');
$(this).attr('href', href + '#' + hash);
});
});
});
</script>
На данный момент Laravel поддерживает эту функцию
Согласно Документация Laravel вам нужно использовать метод фрагмента
{{ $users->fragment('result')->links() }}