Cakephp:回显数组中的行

时间:2017-06-16 12:49:42

标签: mysql arrays cakephp

请记住,这不是我原来的代码,所以对我来说并不是很清楚,因为我迷失了,所以非常欢迎帮助。

我想显示另一个表中的行,但我遇到了一些问题。 当我使用

控制器中的

$companies = $this->Users->Companies->find('list');

在视图中

echo $this->Form->input('companies._ids',['options' =>$companies,'multiple'=>'checkbox']);?>

我在这些基本复选框中获取了公司的所有表格ID和名称。

但是,由于我想使用每一行而不只是id和name,我尝试使用:

$companies = $this->Users->Companies->find('all');

但这会引发两个问题: 我的数据显示在这样的数组中:

{ "id": 2, "name": "Smith", "city": "Duisburg"}

和第二个问题:它跳过了第一行!我的ID为1,使用find('all')时未显示,但在使用find('list')时显示

那么如何获得每个值并以我想要的方式显示它们呢?

1 个答案:

答案 0 :(得分:1)

如果您只想从列表中选择不同的字段,可以指定。

Specify Fields for Find List

$query = $this->Users->Companies->find('list', [
    'keyField' => 'slug',
    'valueField' => 'title'
]);
$data = $query->toArray();

// Data now looks like
$data = [
    'first-post' => 'First post',
    'second-article-i-wrote' => 'Second article I wrote',
];