需要在cakephp 3.x中使用concat和find方法列表

时间:2016-09-03 13:27:03

标签: php cakephp-3.x

我正在使用cakephp 3.1。因为我需要使用find方法列表来使用concat将firstname和lastname与空格结合使用。

我尝试使用半列返回代码,但我需要空格而不是半列。

代码

 $query = $articles->find('list', [
        'keyField' => 'id',
        'valueField' => ['firstname','lastname']
    ]);
    $data = $query->toArray(); 

我得到了以下结果:

 $data = [
        1 => 'rahul;patel',
        2 => 'raj;patel',
    ];

但我需要空间而不是半列(;)。

请伙计们帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

目前在3.0的文档中,我没有看到在find函数中添加参数的支持,但我对cakephp http://book.cakephp.org/3.0/en/orm/query-builder.html不太熟悉

我会尝试这些方法。我已经在array_map中注释掉了另一种可能的返回。我希望这会有所帮助。

  $query = $articles
    ->find()
    ->select(['id','firstname', 'lastname'])
    ->order(['created' => 'DESC']);

  $data = array_reduce($query, function($carry, $item) {
    $carry[$item->id] = $item->firstname.' '.$item->lastname;
    return $carry;
  }, []);