0
私のアプリケーションのインデックスページに検索フォームを適用しました。検索結果が更新されます。しかし、ページネーションをクリックすると、古い結果に戻ってきます。だから、ページネーションを更新したり、キャッシュや何かをクリアしたり、やり方を更新したりしていると思いますか? welcome.blade.php
Laravel 5.2ページめくりをクリックすると新しい検索結果が古いものに戻る
BookmarkController.php
public function index(Request $request) {
$tags_list = Tag::orderBy('tag', 'asc')->get();
$bookmarks = Bookmark::orderBy('created_at', 'desc')->where('public', '1')->paginate(3);
$bookmarks_all = Bookmark::orderBy('created_at','desc')->where('public', '1')->get();
return view('welcome')
->with('bookmark', $bookmarks)
->with('tags_list', $tags_list)
->with('bookmarks_all', $bookmarks_all)
;
}
public function search(Request $request) {
$search_value = $_POST['search'];
$tags_list = Tag::orderBy('tag', 'asc')->get();
$bookmarks = Bookmark::orderBy('created_at', 'desc')
->where('public', '1')
->where('title', 'rlike', $search_value)
->orwhere('description', 'rlike', $search_value)
->orwhere('contents', 'rlike', $search_value)
->orwhere('tags', 'rlike', $search_value)
->paginate(3)
;
$bookmarks_all = Bookmark::orderBy('created_at', 'desc')->where('public', '1')->get();
return view('welcome')
->with('bookmark', $bookmarks)
->with('tags_list', $tags_list)
->with('bookmarks_all', $bookmarks_all)
->render()
;
}
@if (count($bookmark) > 0)
<div class="row card-row">
@foreach ($bookmark as $bookmark_single)
<div class="col-sm-4 col-xs-12 card-parent" data-col="col-sm-4">
<div class="card">
<div class="card-part1">
<div class="img-card">
<img src="{{$bookmark_single->thumbnail}}" />
</div>
<div class="card-content">
<h4 class="card-title">
{{ $bookmark_single->title }}
</h4>
<div class="card-desc">
{{ str_limit($bookmark_single->description, $limit = 50, $end = ' [...]') }}
</div>
</div>
<div class="card-read-more">
<p><?php $tags = $bookmark_single->tags;
$tag_list = explode(',', $tags); ?>
@foreach ($tag_list as $tag)
<a href="/tag/{{$tag}}" class="label label-primary">{{$tag}}</a>
@endforeach
</p>
<p class="card-user">- <a href="/user/{{ $bookmark_single->bookmarker }}">{{ $bookmark_single->bookmarker }}</a></p>
<a class="v-link" target="_blank" href="{{ $bookmark_single->url }}">Visit the link</a>
</div>
<button type="button" class="btn btn-success btn-circle btn-lg btn-read-more"><i class="fa fa-chevron-right"></i></button>
</div>
<div class="card-part2 col-xs-0">
{{ print $bookmark_single->contents }}
</div>
</div>
</div>
@endforeach
</div>
<div class="clearfix text-right">
{{!!$bookmark->render()!!}}
</div>
@endif
welcome.blade.php
で検索フォームをHTMLで
routes.php
で
Route::get('/', '[email protected]');
Route::post('/', '[email protected]');
に検索フォーム
method
を変更する場合は、インデックスページに結果を表示する方法はありません?適用することを確認する必要があり方法 –できますが、空白の場合は検索フィルタが適用されないようにコードを変更する必要があります –
どうすればいいのですか?私の最初のアプリはLaravelを使って作業しています。だから非常に限られたアイデア –