2017-05-08 87 views
-1

我有搜索框,這與拼版作業,並顯示數據,但是當我搜索例如用於字sample我有3個職位與結果我得到這樣的結果的第一頁標題:搜索結果的問題5.4

https://ibb.co/hGGxwQ

但是當我去到第二頁一切都變了!

https://ibb.co/eZJMO5

這是我searchcontroller

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use App\Post; 
use Illuminate\Support\Facades\Input; 
use Carbon\Carbon; 

class SearchController extends Controller 
{ 
    public function index() { 
     $countTodayOrders = Post::whereRaw('Date(created_at) = CURDATE()')->count(); 
     $yesterday_posts = Post::whereRaw('Date(created_at) = DATE_ADD(CURDATE(), INTERVAL -1 DAY)')->count(); 
     $weekly_posts = Post::whereBetween('updated_at', [Carbon::today()->startOfWeek(), Carbon::today()->endOfWeek()])->count(); 
     $monthy_posts = Post::whereRaw('MONTH(created_at) = ?', Carbon::today()->month)->count(); 



     $q = Input::get('q'); 

     $posts = Post::where('title','LIKE','%'.$q.'%')->orWhere('body','LIKE','%'.$q.'%')->paginate('2'); 
     $resultcount = Post::where('title','LIKE','%'.$q.'%')->orWhere('slug','LIKE','%'.$q.'%')->count(); 
      return view('theme.search', compact('posts', 'resultcount', 'countTodayOrders', 'yesterday_posts', 'weekly_posts', 'monthy_posts', 'q')); 
    } 
} 

這是我search.Blade

@extends('layout.app') 

@section('title') 
Search results 
@endsection 

@section('content') 
<div class="col-md-9 technology-left"> 
      <div class="tc-ch wow fadeInDown" data-wow-duration=".8s" data-wow-delay=".2s"> 

        <h2> Here is <b> {{ $resultcount }} </b> result for your query.</h2> 
        <hr/> 

       <!-- panel group --> 
       <div class="row form-group"> 
       @foreach($posts as $post) 
        <div class="col-xs-12 col-md-6"> 
         <div class="panel panel-default"> 
          <div class="panel-image hide-panel-body"> 
           <img src="{{ url('/storage') }}/{{ $post->image }}" class="img-responsive panel-image-preview" alt="{{ $post->title }}" /> 
          </div> 
          <div class="panel-body"> 
           <h4>{{ $post->title }}</h4> 
           <p>{{ substr(strip_tags($post->body), 0, 50) }}{{ strlen(strip_tags($post->body)) > 50 ? "..." : "" }}</p> 
          </div> 
          <div class="panel-footer text-center"> 

           <a href="{{ url('blog/'.$post->slug) }}"><span class="glyphicon glyphicon-share-alt"></span></a> 
          </div> 
         </div> 
        </div> 
        @endforeach 
       </div> 
       <!-- panel group --> 



       <div class="row text-center"> 
        <div class="col-md-12"> 
         {!! $posts->links() !!} 
        </div> 
       </div> 
      </div> 
</div> 
@endsection 

route

Route::any('/search', ['uses' => '[email protected]', 'as' => 'search.index']); 

我的搜索框

<!-- search box --> 
          <form action="/search" method="post" role="search"> 
           {{ csrf_field() }} 
           <div class="input-group"> 
            <input type="text" class="form-control" name="q" placeholder="Search..."> <span class="input-group-btn"> 
             <button type="submit" class="btn btn-default"> 
              <span class="glyphicon glyphicon-search"></span> 
             </button> 
            </span> 
           </div> 
          </form> 
          <!-- search box --> 

這是爲什麼?

+0

請發表您的數據庫 – Demonyowh

+0

截圖爲什麼..........?!你在哪裏把它的帖子 –

回答

0

問題是最有可能與您的q參數頁面的鏈接沒有獲得通過。

只需添加它在你的控制器是這樣的:

$q = Input::get('q'); 
$posts = null; 
if($q) { 
    $posts = Post::where('title','LIKE','%'.$q.'%') 
     ->orWhere('body','LIKE','%'.$q.'%') 
     ->paginate(2) 
     ->appends('q', $q); 
} 

在您的刀片,你應該添加一個if語句來檢查是否有任何職位

@if($posts and $posts->count()) 
    // show posts 
@else 
    // show a nothing found message 
@endif 
+0

給這個錯誤未定義變量添加後立即聲明'$職位,行=郵政:: ...' –

+0

@RobertNicjoo ??: – yazfield

+0

OK,似乎工作!但當我只是去url /搜索將返回我的帖子就像主頁面沒有任何搜索。這是爲什麼? –