2012-10-22 51 views
0

選擇我要創建的MongoDB的類型集合下拉列表中,在我的MongoDB集合:如何創建一個鋰 - 形式 - >從控制器輸出

部分具有類型和控制器代碼視圖代碼。我想從控制器的輸出創建一個form->select

types 
    { 
     "_id": ObjectId("5082c6109d5d0c640c000000"), 
     "name": "JACKET CLUSTER FRONT" 
    } 
    { 
     "_id": ObjectId("5082c62b9d5d0c440c00006e"), 
     "name": "JACKET CLUSTER FRONT" 
    } 
    { 
     "_id": ObjectId("5082c62b9d5d0c440c00006f"), 
     "name": "TITLE WITHOUT SYMBOL" 
    } 
    { 
     "_id": ObjectId("5082c62b9d5d0c440c000070"), 
     "name": "FRONTISPIECE" 
    } 
*/ 

// in my controller 
// ----------- 
    $types = Types::all(array('order'=>'_id')); 
    $vtype = array($types) 
    return compact('vtypes'); 

// in my view 
// ------------------ 
    echo $this->form->select('types',$vtypes); 

回答

3

find('list')返回鍵/值陣列,用於任何用途,你想一個列表,例如用於填充輸入選擇框非常有用。

$types = Types::find('list') 

//returns 
Array 
(
[5082c6109d5d0c640c000000] => 'JACKET CLUSTER FRONT', 
[5082c62b9d5d0c440c00006e] => 'JACKET CLUSTER FRONT', 
[5082c62b9d5d0c440c00006f] => 'TITLE WITHOUT SYMBOL', 
... 
) 

此取景器會在您的模式,這是默認name如果該字段是可用的,並且$_meta['key']id$_meta['title'],這應該是你的情況_id如果你的模式是正確的

0

最後,我用這個來達到結果。

Types::meta('key', '_id'); 
Types::meta('title', 'filename'); 

$types = Types::find('list',array(
'fields'=>array('id','filename'), 
'order'=>'id')); 
+0

請求RTFM! find('list')並不需要所有爵士樂都返回一個用於填充表單選擇的鍵/值對......此外,您所寫的內容正是我在我的回答中所解釋的 –

相關問題