[SP-pm] Busca no banco com DBIC

Blabos de Blebe blabos at gmail.com
Fri Mar 18 06:58:46 PDT 2011


Na doc do DBIC,
http://search.cpan.org/~abraxxa/DBIx-Class-0.08127/lib/DBIx/Class/ResultSet.pm#find,

Vê se isso te ajuda

If no key is specified, the search is carried over all unique
constraints which are fully defined by the available condition.

If no such constraint is found, find currently defaults to a simple
search->(\%column_values) *which may or may not do what you expect*.
Note that this fallback behavior may be deprecated in further
versions. *If you need to search with arbitrary conditions - use
"search"*. If the query resulting from this fallback produces more
than one row, a warning to the effect is issued, though only the first
row is constructed and returned as $row_object.

Fora isso, se os dados estiverem um byte diferentes, a consulta vai falhar.

Verifique as colunas char/varchar (há diferenças), verifique espaços
extras, use like

http://search.cpan.org/~abraxxa/DBIx-Class-0.08127/lib/DBIx/Class/ResultSet.pm#search_like

2011/3/18 Jonhnes Lopes <jonhnes em gmail.com>:
> Ola pessoal,
> Estou com uma pequena duvida em relação
> a fazer buscas no banco de dados, pois
> preciso fazer uma busca em que passo
> apenas parte da palavra que ele deve achar,
> porem com o comando que estou dando ele
> consegue apenas se a palavra que eu der for
> igual a que estar no banco.
> Vocês poderiam me mostrar uma forma de fazer
> isso?
> Exemplo do que eu fiz:
> $c->stash(classificacoes => [$c->model('DB::cadastro')->find({ classificacao
> => $termo })]);
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>


More information about the SaoPaulo-pm mailing list