簡體   English   中英

搜索拉拉韋爾的食品

[英]Search Food Items in laravel

我的視圖中有一個搜索框,我想從數據庫中搜索食物。 我對搜索框的看法是:

<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. 食物名
  3. 食品說明
  4. 食物圖像
  5. 價錢

現在我想按名稱搜索食物,我該怎么做?請幫助我.laravel我是新手,我正在使用laravel 5.2。

假設您的表名是foods ,則可以使用控制器中的Eloquent或DB Facade來實現。

public function search(){
    $foodName = Input::get('food_name'');
    $foods = Food::where('FoodName', $foodName)->get();
    return $foods;
}

這是最簡單的版本。 希望對您有所幫助。

在Laravel搜索

  1. 建立模型

正如您提到的,您有一張桌子說food我們將在您的app文件夾中生成一個模型Food.php

    <?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. 在Controller內部編寫邏輯以根據食物名稱檢索模型記錄

     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')) }} 

    \n\n
      <div class="field" > <input type="text" id="searchterm" placeholder="eg mutton karahi,pizza..." name="q" /> <button type="submit" id="search" >Find Food!</button> </div> {{Form::close()}} 
    \n\n

  4. 最后,我們還需要一個視圖來顯示結果,因此創建一個文件search.blade.php並顯示結果。 https://laravel.com/docs/5.2/views#passing-data-to-views

 <ul> @foreach($foods as $food) <li>{{$food->name}}</li> @endforeach </ul></pre> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM