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);
4

2 回答 2

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']id_id

于 2012-10-23T04:48:35.977 回答
0

最后,我用它来实现结果。

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

$types = Types::find('list',array(
'fields'=>array('id','filename'),
'order'=>'id'));
于 2012-11-09T19:22:35.623 回答