2016-09-13 8 views
0

私はそこからデータベースを検索するフィルタを持っています。しかし、フィルタフィールドのいずれかが空であれば無視する。cakephp 3を使って動的クエリを作成する方法は?

$name = $this->request->data['name']; 
$status = $this->request->data['status']; 
$code_transaction = $this->request->data['code_transaction']; 

$orders = $this->Orders->find('all')->where(['name'=> $name, 'status'=> $status, 'id'=> $code_transaction]); 

空白のフィールドの後ろに何もないクエリデータベースがある場合。 フィールドを最初に入力したときにデータベース内でクエリを実行し、空白のフィールドを無視するクエリを作成するには、助けが必要です。誰か助けてくれますか?私はそれを作成するための任意のアイデアを受け入れる。

+0

ドロップいくつかの場合の、あなたの配列 – madalinivascu

答えて

0

あなたはこのような何かを行うことができます。そこに

$query = ['name'=> $name, 'status'=> $status, 'id'=> $code_transaction]; 
$newdataquery =[]; 
foreach($query as $key => $data) { 
if (strlen($data) > 0) 
    $newdataquery[$key] = $data; 
} 
$orders = $this->Orders->find('all')->where($newdataquery); 
+1

niceeeを構築し、今働いていました! ;) –

関連する問題