我的观点中有一个搜索框,我想从数据库中搜索食物。 我对搜索框的看法是:
<div class="field" id="searchform">
<input type="text" id="searchterm" placeholder="e.g mutton
karahi,pizza..." />
<button type="button" id="search"
onclick="window.location='http://localhost:8000/search'">Find Food!</button>
</div>
我的食物表有以下字段:
现在我想通过名字搜索我的食物。我怎么能这样做?PLZ帮助我。我是laravel的新手,我正在使用laravel 5.2。
答案 0 :(得分:1)
据推测,您的表名为foods
,您可以在控制器中使用Eloquent或DB facade进行此操作。
public function search(){
$foodName = Input::get('food_name'');
$foods = Food::where('FoodName', $foodName)->get();
return $foods;
}
这是最简单的版本。我希望它可以提供帮助。
答案 1 :(得分:1)
在Laravel中搜索
正如您所提到的,您有一个表格food
,我们会在您的Food.php
文件夹中生成一个模型app
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Food extends Model {
use SoftDeletes;
protected $table = 'food';
protected $fillable = ['id','name','description','image'];
protected $dates = ['deleted_at'];
}
克里特岛搜索控制器
php artisan make:controller SearchController
内部控制器写入逻辑,根据食物名称
检索模型记录
public function search(Request $request){
$foods = Food::where('name','%LIKE%',$request->input('q'))->get();
return view('search')->with(['foods'=>$foods]);
}
我们现在返回我们的模态进行查看。您可以在控制器中或在视图中使用dd($foods)
来检查结果
在“搜索表单视图”中,对SearchController执行操作
{{Form::open(array('action' => 'SearchController@search','method'=>'post','name'=>'mini_search','id'=>'mini_search','role'=>'form')) }}
<div class="field" >
<input type="text" id="searchterm" placeholder="e.g mutton
karahi,pizza..." name="q" />
<button type="submit" id="search" >Find Food!</button>
</div>
{{Form::close()}}
最后,我们还需要一个视图来显示我们的结果 因此,创建一个文件search.blade.php并显示结果。 https://laravel.com/docs/5.2/views#passing-data-to-views
<div class="field" >
<input type="text" id="searchterm" placeholder="e.g mutton
karahi,pizza..." name="q" />
<button type="submit" id="search" >Find Food!</button>
</div>
{{Form::close()}}
&#13;