Comportamento estranho em uma segunda execução da mesma query

2 views
Skip to first unread message

airc...@uol.com.br

unread,
Sep 28, 2019, 3:17:15 AM9/28/19
to cakep...@googlegroups.com

Pessoal bom dia,

 

Alguma boa alma poderia, por favor, me dar uma luz. Estou fazendo as seguintes querys:

 

Meu controller está exportando a seguinte query

                              $acompanhantes = $acompanhantes->find();

                              $this->set(compact('acompanhantes'));

 

Na minha view eu quero contar quantas linhas me retornam onde na coluna criança é igual a 1 e quantas linhas me retornam onde é igual a 2.

 

Eu estou usando a sintaxe abaixo:

Echo $acompanhantes->find('All')->where(['Crianca' => 1])->count()->toArray();

Echo $acompanhantes->find('All')->where(['Crianca' => 2])->count()->toArray();

 

Porém está ocorrendo o seguinte o primeiro echo retorna corretamente o valor.

O segundo está fazendo uma query com o parâmetro criança =1 and criança =2 como se eu estivesse usando multiplus wheres. Alguém sabem como posso obter esta contagem? E se o comportamento relatado é normal?

 

O debug mostra a query com os 2 paramentos, mesmo eu tendo colocado só um.

        'params' => [

                 ':c0' => [

                         'value' => (int) 1,

                         'type' => 'string',

                         'placeholder' => 'c0'

                 ],

                 ':c1' => [

                         'value' => (int) 2,

                         'type' => 'string',

                         'placeholder' => 'c1'

                 ]

        ],

Clesio Vilani – Analista curioso

 

Cauan Cabral

unread,
Sep 28, 2019, 11:40:21 AM9/28/19
to CakePHP Tuga
O objeto $acompanhantes é uma Query mutável (padrão do Cake ainda).
Você teria de criar duas queries diferentes ($table->find()) ou tentar um clone $acompanhantes

Att,

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.
Para ver este debate na Web, visite https://groups.google.com/d/msgid/cakephp-pt/016e01d575cc%24bdf36200%2439da2600%24%40uol.com.br.


--
Cauan Cabral
----------------
Como falar comigo: Hangout: cau...@gmail.com Skype: CauanCabral 
Onde me encontrar: LinkedinWordpressTwitter

Clesio Vilani

unread,
Sep 28, 2019, 1:58:19 PM9/28/19
to cakep...@googlegroups.com
Legal.
Foi o que eu fiz, então segui o caminho certo.

Enviado por BlueMail
Reply all
Reply to author
Forward
0 new messages