2012-10-22 52 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')并不需要所有爵士乐都返回一个用于填充表单选择的键/值对......此外,您所写的内容正是我在我的回答中所解释的 –

相关问题