在laravel中搜索食物项目

时间:2016-07-19 06:51:42

标签: php laravel-5 eloquent laravel-5.1 laravel-5.2

我的观点中有一个搜索框,我想从数据库中搜索食物。 我对搜索框的看法是:

<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>

我的食物表有以下字段:

  1. Food_id
  2. FoodName
  3. FoodDescription
  4. FoodImage
  5. 价格
  6. 现在我想通过名字搜索我的食物。我怎么能这样做?PLZ帮助我。我是laravel的新手,我正在使用laravel 5.2。

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中搜索

  1. 创建模型
  2. 正如您所提到的,您有一个表格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'];
    
        }
    
    1. 克里特岛搜索控制器

      php artisan make:controller SearchController

    2. 内部控制器写入逻辑,根据食物名称

      检索模型记录

       
       public function search(Request $request){
      $foods = Food::where('name','%LIKE%',$request->input('q'))->get();
       return view('search')->with(['foods'=>$foods]);
      }
      

      我们现在返回我们的模态进行查看。您可以在控制器中或在视图中使用dd($foods)来检查结果

    3. 在“搜索表单视图”中,对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()}}
      

    4. 最后,我们还需要一个视图来显示我们的结果 因此,创建一个文件search.blade.php并显示结果。 https://laravel.com/docs/5.2/views#passing-data-to-views

    5. &#13;
      &#13;
          <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;
      &#13;
      &#13;