Como você cria uma LIKE
condição em uma db_select()
consulta?
Eu sei como fazer isso com uma db_query()
chamada de API, mas existe uma sintaxe / método especial para fazer isso db_select()
?
Como você cria uma LIKE
condição em uma db_select()
consulta?
Eu sei como fazer isso com uma db_query()
chamada de API, mas existe uma sintaxe / método especial para fazer isso db_select()
?
db_query
como um espaço reservado para argumento, também pode passar como um argumento para...Query::condition
. Você não encontrará documentação para cada operador individual para cada tipo diferente de consulta, pois não faria sentido fazer isso. Tudo passa pelo DOP no final do dia, sedb_like
prepara uma variável corretamente paradb_query
, então, por definição, prepara a mesma variável corretamente paradb_select
Respostas:
Depois de cavar através de documentação Drupal encontrada uma solução em db_like página de documentação da API e SelectQuery: condição página doc manipulador ..
Por exemplo
A condição a ser usada para consulta semelhante é
fonte
db_like()
é necessário para escapar adequadamente do argumento e (2) você precisa adicionar explicitamente os caracteres curinga. Ele também usará o agrupamento padrão no banco de dados, e não acho que exista nenhuma maneira de especificar um agrupamento diferente.Você também pode usar Drupal \ Core \ Database \ Database ao criar a consulta "LIKE". Esta é a sintaxe alternativa do Drupal 8, já que db_select () está obsoleto.
Ou adicione múltiplos com a consulta OR.
fonte
Para usar "like" em
db_select
é como abaixo e trabalhou para mim ...Aqui o valor exato em ROW1 é "[email protected]" e, usando a
LIKE
condição emdb_select
, obtive a saída como "[email protected]".fonte
funciona na versão 1 do Drupal8
Versão 2
fonte