在cakephp 3上选择Distinc返回错误的字段

时间:2017-05-31 00:12:12

标签: cakephp cakephp-3.0

这个函数应该返回我想要的表的字段,但这不会发生,返回表的所有字段,只需简单的sql工作"SELECT DISTINCT especie FROM packages"

 public function listSpicies()
 {
    $packages = $this->Packages->find('all')
        ->select('especie')
        ->distinct('especie');
    $this->set([
        'success' => true,
        'data' => $packages,
        '_serialize' => ['success', 'data']
    ]);
 }

1 个答案:

答案 0 :(得分:1)

我想你可以使用这样的东西:

$packages = $this->Packages->find('all' , [
            'fields' => [
                'anyAlias' => 'DISTINCT(espiece)' 
            ]
        ])
    ->toArray();    

的通知。如果此序列已序列化并作为JSON输出,请检查\App\Model\Entity\Package - espiece是否在$_hidden数组中 - 从数组中删除