da uma fuçada e descubra sobre

->or_where_open()
....
->or_where_close()



Em 23 de outubro de 2013 10:41, Cello Zero <[email protected]>escreveu:

> Estou usando o kohana 3.0.9 já que não consegui tempo de me adaptar ao 3.3
> ainda, e me surgiu uma dúvida:
> usando DB, como posso colocar parênteses nas partes de where?
>
> $query = DB::select()->from('arquivos')
>  ->where('folder1', '=', $tipo)
> ->and_where('file', 'like', '%'.$keywords.'%')
>  ->where('folder2', 'like', '%'.$keywords.'%')
> ->or_where('folder3', 'like', '%'.$keywords.'%')
>  ->or_where('folder4', 'like', '%'.$keywords.'%')
> ->or_where('folder5', 'like', '%'.$keywords.'%');
>
> E a consulta me retorna o seguinte
>
> SELECT * FROM `arquivos` WHERE `folder1` = 'campanhas' AND `file` LIKE
> '%cafe%' OR `folder2` LIKE '%cafe%' OR `folder3` LIKE '%cafe%' OR `folder4`
> LIKE '%cafe%' OR `folder5` LIKE '%cafe%'
>
> Quando na verdade eu precisava de
>
> SELECT * FROM `arquivos` WHERE `folder1` = 'campanhas' AND `file` LIKE
> '%cafe%' OR (`folder2` LIKE '%cafe%' OR `folder3` LIKE '%cafe%' OR
> `folder4` LIKE '%cafe%' OR `folder5` LIKE '%cafe%')
>
> Alguém tem uma luz?
>
> Obrigado!
>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
> Php" dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para [email protected].
> Para postar neste grupo, envie um e-mail para [email protected].
> Visite este grupo em http://groups.google.com/group/kohana-php.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para [email protected].
Para postar neste grupo, envie um e-mail para [email protected].
Visite este grupo em http://groups.google.com/group/kohana-php.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Responder a