Cakephp以逗号分隔得到所有值?

时间:2014-04-15 12:52:50

标签: arrays cakephp

这是一个非常基本的php问题,我想用逗号分隔显示一个值。我知道一个程序,我可以用逗号分隔得到逗号分隔值。我只想确认它是否成功运行。我在下面输出我的输出和数组:我需要输出类似 Sahbaj,测试名称的输出。

我的阵列:

Array
(
    [0] => Array
        (
            [AdoPosition] => Array
                (
                    [name] => Sahbaj
                )

        )

    [1] => Array
        (
            [AdoPosition] => Array
                (
                    [name] => test-name
                )

        )

)

我的控制器代码如下:

$name = $this->AdoPosition->find('all',
     array(
       'fields'=>'AdoPosition.name',
       'group'=>'AdoPosition.name'
       ));  
pr($name);

4 个答案:

答案 0 :(得分:1)

那样做:

$name = $this->AdoPosition->find('list', array(
    'fields' => array('AdoPosition.name', 'AdoPosition.name'),
    'group' => array('AdoPosition.name')
));
$name = implode(',', $name);

回报是:

"Sahbaj,test-name"

答案 1 :(得分:1)

简单明了

$names=Set::extract("/AdoPosition/name",$array);

OR

$names = $this->AdoPosition->find('list', array('fields'=>array('name')));
看看这个。 Remove array key from array in cakephp

答案 2 :(得分:0)

另一种方法是让mysql加入逗号,如 -

$data = $this->AdoPosition->query('SELECT GROUP_CONCAT(DISTINCT name) from your_table_name;');

答案 3 :(得分:0)

为了提高效率,试试这个。

$result = implode( ",", Set::classicExtract($name, '{n}.AdoPosition.name'));

echo $result; // Sahbaj,test-name