2016-08-21 13 views
0

現在プロジェクトを行っています。このプロジェクトでは、私の検索フォームは機能しません。私の検索ボタンには何の価値もありません。空のページが返されました。私を助けてください。私のルートは検索がlaravel 5.1で機能していません。

マイブレイドテンプレートが

<header id="header"> 
    <div class="top-bar"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-sm-12 col-xs-12"> 
        <div class="social"> 
         <ul class="social-share"> 
          <li><a href="#"><i class="fa fa-google-plus"></i></a></li> 
          <li><a href="#"><i class="fa fa-facebook"></i></a></li> 
          <li><a href="#"><i class="fa fa-twitter"></i></a></li> 
          <li><a href="#"><i class="fa fa-skype"></i></a></li> 
         </ul> 
         <div class="search"> 
          {!! Form::open(['route' => 'search', 'method'=> 'GET']) !!} 

           <input type="text" class="search-form" name="search" autocomplete="off" placeholder="Search"> 

            <i class="fa fa-search"></i> 

          {!! Form::close() !!} 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div><!--/.container--> 
    </div><!--/.top-bar--> 

    <nav class="navbar navbar-inverse" role="banner"> 
     <div class="container"> 
      <div class="navbar-header"> 
       <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> 
        <span class="sr-only">Toggle navigation</span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
       </button> 
       <a class="navbar-brand" href="{!! URL::route('home') !!}">{!! Html::image('images/logo.png','logo') !!}</a> 
      </div> 

      <div class="collapse navbar-collapse navbar-right"> 
       <ul class="nav navbar-nav"> 
        <li <?php if($active == 'home') {echo 'class="active"';} ?>><a href="{!! URL::route('home') !!}">Home</a></li> 

        <li <?php if($active == 'about_us') {echo 'class="active"';} ?>><a href="{!! URL::route('about_us') !!}">About Us</a></li> 

        <li <?php if($active == 'hospital') {echo 'class="active"';} ?> class="dropdown" > 
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Hospitals <i class="fa fa-angle-down"></i></a> 
         <ul class="dropdown-menu"> 
          @foreach($divisions as $division) 

           <li><a href="{!! URL::route('district', $division['id']) !!}">{{ $division['name'] }}</a></li> 

          @endforeach 

         </ul> 
        </li> 

        <li <?php if($active == 'doctor') {echo 'class="active"';} ?> class="dropdown" > 
         <a href="#" class="dropdown-toggle" data-toggle="dropdown">Doctors <i class="fa fa-angle-down"></i></a> 
         <ul class="dropdown-menu"> 

         @foreach($divisions as $division) 
           <li><a href="{!! URL::route('districts',$division['id']) !!}">{{ $division->name }}</a></li> 

          @endforeach 

         </ul> 
        </li> 

        <li <?php if($active == 'contact') {echo 'class="active"';} ?>><a href="{!! URL::route('contact') !!}">Contact Us</a></li> 

        <li <?php if($active == 'login') {echo 'class="active"';} ?>><a href="{!! URL::route('login') !!}">Login</a></li> 

        <li <?php if($active == 'register') {echo 'class="active"';} ?>><a href="{!! URL::route('register') !!}">Sign Up</a></li>       
       </ul> 
      </div> 
     </div><!--/.container--> 
    </nav><!--/nav--> 

</header><!--/header--> 

私のコントローラを使用して、検索キーワードを通過させるためのこの使用後の方法のようにそれを書くことができ、経路内のすべての

public function search(Request $req) 
    { 

     $divisions = Division::all(); 
     $doctors = Doctor::orderBy('name'); 
     $name = $req->input('name'); 
     if(!empty($name)) { 
      $doctors->where('name', 'LIKE', '%' . $name . '%'); 
     } 
     $doctors=$doctors->paginate(1); 
     return view('users.index') 
        ->with('divisions',$divisions) 
        ->with('doctors',$doctors); 

    } 

答えて

0

問題の解決策は、あなたのコードは動作しません

public function search(Request $req) 
    { 

    $divisions = Division::all(); 
    $name = $req->input('search'); 

    $doctors = User::where('name', 'LIKE', '%' . $name . '%')->get(); 

    return view('users.search') 
       ->with('divisions',$divisions) 
       ->with('doctors',$doctors); 

    } 
0

まずです

Route::get('/search', array('as' =>'search' ,'uses' => '[email protected]')); 
です

Route::post('/search', '[email protected]_bar')->name('search'); 

は、その後、ブレード・テンプレートであなたのコントローラで

{!! Form::open(['route' => 'search']) !!} 

    <input type="text" class="search-form" name="search" autocomplete="off" placeholder="Search"> 

    <i class="fa fa-search"></i> {!! Form::submit($btnTxt,array('class'=>'btn btn-success')) !!} {!! Form::close() !!} 

今すぐブレードテンプレートに少し修正を行うことはあなたがあなたがそう検索しているどのモデルに言及していないので、それを鉱山を試してみてください、私はあなたに1つの方法を示しただけだろうし、あなたそれをつかむと、あなた自身でそれを試して、

public function search(Request $request) 
    { 
    $name = $request->input('search'); 
    if(null !== $name) 
    { 
     $doctors = App\Doctor::where('name', 'LIKE', '%' . $name .'%')->paginate(10); 
    return view('users.index',compact('doctors')); 
    }else{ 
     return redirect()->back(); 
    } 

}

あなたは右のビューのパスを指している、歓声が、それは確かにあなたのために働くだろう交尾を確認することができます:)

+0

気の毒です。 @Roshan Ranabhat –

0

あなたは$req->input('name')を探していますが、それはあなたのフォームにsearchと呼ばれています。 name="search"

のどちらかがこれにあなたの入力を変更します。

<input type="text" class="search-form" name="name" autocomplete="off" placeholder="Search"> 

またはあなたのコントローラ要求に:

はまた、フォームのように見えます
$name = $req->input('search'); 

送信ボタンを欠けていますか?

<input type="submit" value="Search"> 
+0

これは表示されていません。 Plz heelp –

+0

@ Jahid26私が提案したものを試しましたか? – James

+0

はい私はあなたのコードを試して@ジェームズ –

関連する問題