2017-05-31 61 views
0

这个功能应该返回我想要的表的字段,但这种情况不会发生,返回表的所有领域,具有简单的SQL做工精细"SELECT DISTINCT especie FROM packages"选择Distinc介绍CakePHP 3回错误的领域

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

什么生成的SQL的样子(单向** [DebugKit(HTTPS删除此://book.cakephp .ORG/3.0/EN /调试kit.html)**)?你在哪里/如何检查返回的内容? – ndm

回答

1

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

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

请注意。如果该集合是序列化,并作为JSON输出,检查\App\Model\Entity\Package - 如果espiece里面$_hidden阵列 - 从Array