在我的控制器中,制作此过滤器
$categories = $this->Posts->Categories->find('list', ['limit' => 200])->select(['id', 'category_name']);
在我看来
echo $this->Form->select('category_id', $categories->toArray());
但是,数组中返回的数据只是代码(在本例中为id)。如何使用id和category_name实现 select ?应该手动吗?
...谢谢
答案 0 :(得分:1)
在这种情况下,您不应该使用select
。使用displayField
告诉您需要category_name,或者根据the manual在keyField
调用的选项中指定valueField
和list
参数。
$this->Posts->Categories->displayField('category_name');
$categories = $this->Posts->Categories->find('list', ['limit' => 200]);
或
$categories = $this->Posts->Categories->find('list', [
'limit' => 200,
'keyField' => 'id',
'valueField' => 'categoryName'
]);