サイバーセキュリティを勉強していく漢

【cakephp】よくつかうかもー

cakephp4inquerysql

1.where ~ in で値に配列使用(OR)

今までquery->getQuery()をforeach()で$keyと$valueループさせてからのさらに

$valueを$valでループさせて->where()やってた。

ANDしかできないからORめっちゃなやんでたら、ループしなくてもよかった。

$a = $this->Table_A->find()

->where([“column_a in” => $value]);

ANDの場合は・・・?

これまでどおり?

having使えばいけるかな????

2.サブクエリーの使用でpaginate一括

$a = $this->Table_A->Table_B->find()

->where([“Table_A.column_a in” => $values]);

$this->paginate = [“contain” => [“Table_C”, “Table_D”]];

$a = $this->paginate($a);

      ↓

$sub_query = $this->Table_A->Table_B->find()

->select([“Table_A.id”])

->group(“Table_A.id”]);

$a = $this->Table_A->find()

->where([“Table_A.id” => $sub_query]);

$this->paginate = [“contain” => [“Table_E”, “Table_F”]];

$a = $this->paginage($a);