Como você faz isso em cláusula no novo CakePHP? Estou tentando:
$restaurants->find()->where(["id" => $r_ids])->all();
Onde $r_ids
é uma matriz de ids que eu preciso na minha consulta, mas isso não funciona como esperado.
Respostas:
21 para resposta № 1Com o CakePHP 3.x, agora é necessário indicar o tipo de dados, que para uma matriz de valores precisa ter []
acrescentado ao tipo:
$query = $articles
->find()
->where(["id" => $ids], ["id" => "integer[]"]);
ou usar explicitamente o IN
palavra chave:
$query = $articles
->find()
->where(["id IN" => $ids]);
Veja também
0 para resposta № 2
Experimente este para o CakePHP 3.x
$query = $restaurants
->find()
->where(["id IN" => $r_ids]);
$query->all();
0 para resposta № 3
Você também pode usar a sintaxe curta:
$result = $restaurants->find("all",
["conditions" => ["id IN" =>$r_ids]]
)->all();