2014-11-24 176 views
0

首先,我在Laravel非常綠。因此,如果我使用任何錯誤terminlogy或不抓住一些應該是顯而易見的東西,請考慮這一點。 我想填充數據庫查詢結果的下拉列表。使用數據庫查詢結果填充下拉列表

模型下拉條目:

Class Dropdown { 

    public static function getFilters() { 
      $filter = DB::select(DB::raw('SELECT DISTINCT filter AS filt 
            FROM filter.database')); 
    return $filter; 
    } 

    } 

控制器:

class FilterController extends BaseController { 
     public function getSql_Test() { 
      $dropdown = Dropdown::getFilters(); 
      return View::make('Dropdown.show', ['Dropdown' =>$dropdown]); 
     } 
    } 

什麼我控制器現在所完成的是,以顯示查詢的結果(我想填充下拉)頁。有人可以幫助我如何將這些條目傳遞到選擇標籤,並顯示在我的視圖?

回答

1

這很容易做到,而且很有趣(因爲它很容易)!

$filter = DB::table('filter.database')->select(DB::raw('DISTINCT(filter) AS filt')) 
    ->lists('filt'); 

這會給你一個數組,其中的關鍵是一個整數,值是過濾器。

$filter = DB::table('filter.database')->select(DB::raw('DISTINCT(filter) AS filt')) 
    ->lists('filt', 'filt'); 

這將給你一個數組,其中的關鍵是過濾和值是過濾。

您可以通過像這樣的變量延長你的觀點推到視圖:

return View::make('Dropdown.show')->with('dropdown', $dropdown); 

現在你可以讓你的選擇,只是推陣在該值應爲:

echo Form::select('size', $dropdown); 

更多信息可以在這裏找到:

http://laravel.com/docs/4.2/queries#selects

作爲提示,留在laravel文檔。他們是一個合作的待遇。

+0

感謝您的輸入伴侶一堆。但是我得到錯誤信息***調用一個非對象***上的成員函數lists()。有小費嗎? – 2014-11-24 09:30:39

+0

我認爲這與使用雄辯的方式有關。我改變了一些東西。應該工作 – Matt 2014-11-24 09:46:09

+1

你是對的。這是我寫我的問題的方式。它現在有效。非常感謝! – 2014-11-24 10:11:44

相關問題