我想在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);
答案 0 :(得分:3)
find('list')
返回一个键/值数组,对于您需要列表的任何用途都很有用,例如填充输入选择框。
$types = Types::find('list')
//returns
Array
(
[5082c6109d5d0c640c000000] => 'JACKET CLUSTER FRONT',
[5082c62b9d5d0c440c00006e] => 'JACKET CLUSTER FRONT',
[5082c62b9d5d0c440c00006f] => 'TITLE WITHOUT SYMBOL',
...
)
此查找程序会查找您的模型的$_meta['title']
,如果此字段可用,则默认为name
,$_meta['key']
的{{1}}应为id
1}}如果您的架构正确
答案 1 :(得分:0)
最后,我用它来实现结果。
Types::meta('key', '_id');
Types::meta('title', 'filename');
$types = Types::find('list',array(
'fields'=>array('id','filename'),
'order'=>'id'));