如何在laravel 4.2中搜索搜索结果

时间:2015-04-29 06:58:03

标签: php search laravel eloquent

有一个简单的页面,我按关键字显示搜索结果。 但现在我想按一些标准搜索这些结果。

我该怎么做

SearchController

class SearchController extends \BaseController {

    public function search() {
        $keyword = Input::get('header-search-query');

        if (empty($keyword)) {
            $product = Product::paginate(10);
            $this - > setModel($product);
            return View::make('product.listbykeyword') - > with('products', $product);
        }

        return View::make('product.listbykeyword') - > with('products', Product::like('title', $keyword) - > paginate(10));
    }

    public function advance() {
        //what should i put here
    }
}

查看

@foreach($products as $product)
 <div class="media">
    <div class="media-left" style="width:16%;">
        <a href="{{ URL::to('image/'.$product->productImage()->first()['image']) }}">
        {{ HTML::image('image/'.$product->productImage()->first()['image'],'no-image',array('class'=>'media-object','height'=>'100','width'=>'100'))}}
         </a>
     </div>
 <div class="media-body">
     <h4 class="media-heading">{{ HTML::link('/product/'.$product->id,$product->title) }}</h4>
     <p>{{substr($product->description,0,85)}}</p>
     <p>Price : {{$product->price}} TK</p>
     <p class="time">{{$product->created_at->diffForHumans()}}
          <b>Near</b> {{$product->location}}
     </p>
  </div>
 </div>
 <hr></hr>
@endforeach

1 个答案:

答案 0 :(得分:0)

因为在公共搜索中你无法使用Datatables,所以我建议你在keychange事件上使用ajax调用。

第1步:

从文本框中检测密钥更改

<input id='myTextbox1' type='text'/>
$('#myTextbox1').on('input', function() {
    alert('Text1 changed!');
});

以下是fiddle

第2步:

将ajax页面调用到您的控制器

 $.ajax({
        type: "POST",
        url : "yourcontroller",
        data : dataString,
        success : function(data){
        $("#result").html(data);                           
        }
  });

在页面中放置一个名为result的div。

因此,您首次从默认控制器获取结果,然后在myTextbox1中键入文本时,您将使用它来调用控制器yourcontroller和控制器你应该得到datastring并将匹配的输出返回给视图。

希望这会对你有所帮助。