[Catalyst] complex search using Catalyst::Controller::DBIC::API::REST
Dimitar Petrov
mitakaa at gmail.com
Wed Mar 1 09:27:12 GMT 2017
Hello Rajesh,
C::C::DBIC::API supports that under the hood, so not sure what are you
going after.
You can either use: search=JSON.stringify(object) or construct the search
passing params like: search.holder.-ilike=%mis%. Both should work out of
the box.
Regards
On Wed, Mar 1, 2017 at 10:24 AM, Rajesh Kumar Mallah <mallah at redgrape.tech>
wrote:
>
>
> Hi ,
>
> CGI::Expand collapse_hash comes to rescue ,
> below is a small snippet that converts the perl
> hash reference to the TT's dotted format using
> CGI::Expand.
>
>
> ============================================================
> #!/usr/bin/perl -w
>
> use strict;
>
> use CGI::Expand qw(expand_hash collapse_hash);
> use Data::Dumper;
> use JSON::XS;
> use URI::Escape;
>
>
> # SQL::Abstract Syntax comes here.
> my $where = {
> search => {
> holder1 => { -ilike => '%mis%' },
> mobile1 => { -ilike => '%967%' },
> flat_no => 'A203'
> }
> } ;
>
>
>
> my $flat_hash = collapse_hash( $where );
>
> print join '&' , map { my $k = $_; my $v = uri_escape(
> $flat_hash->{$k}) ; "$k=$v" } keys %{$flat_hash};
>
> print "\n";
> ======================================================
>
> Output:
>
>
> $VAR1 = {
> 'search.mobile1.-ilike' => '%967%',
> 'search.holder1.-ilike' => '%mis%',
> 'search.flat_no' => 'A203'
> };
> search.mobile1.-ilike=%25967%25&search.holder1.-ilike=%
> 25mis%25&search.flat_no=A203
>
>
>
> Regds
> Mallah.
>
>
>
>
> >
> > Hi ,
> >
> > In continuation of previous query kindly guide how to do a
> > anchored or unanchored ilike search using
> > Catalyst::Controller::DBIC::API::REST
> >
> >
> > I have used DBIC search with lots of search conditions in past
> > that uses SQL::Abstract, at this moment I need a guide(document)
> > on how to convert SQL::Abstract's conventions to Query parameter
> > format
> >
> >
> > Eg:
> >
> http://10.100.102.38:3000/api/rest/general/members?list_
> returns=holder1&list_count=10
> >
> > Returns:
> >
> > {
> > "Result": "OK",
> > "Records": [
> > {
> > "holder1": "Sh. R. Krishna Kumar"
> > },
> > {
> > "holder1": "Sh. Sharad Kumar Srivastava"
> > },
> > {
> > "holder1": "Smt. Shubhra Jain ."
> > },
> > {
> > "holder1": "Sh. Balam Singh Negi"
> > },
> > {
> > "holder1": "Sh. Subodh Jain"
> > },
> > {
> > "holder1": "Smt. Punita Batra"
> > },
> > {
> > "holder1": "Sh.K C Sardana"
> > },
> > {
> > "holder1": "Smt. Sunita Mishra"
> > },
> > {
> > "holder1": "Sh. Vijay Kumar Khanna"
> > },
> > {
> > "holder1": "Smt. Daisy Tyagi"
> > }
> > ]
> > }
> >
> >
> > I need a Query param that would return all holder1 matching
> > Mis. ie holder1 ilike '%Mis%'
> >
> >
> > As always Thanks in anticipation of your valuable time/attention.
> >
> >
> > Regds
> > Mallah.
> >
> >
> >
> >
> >
> > _______________________________________________
> > List: Catalyst at lists.scsys.co.uk
> > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> > Searchable archive:
> > http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> > Dev site: http://dev.catalyst.perl.org/
> >
>
>
>
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/
> catalyst at lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.scsys.co.uk/pipermail/catalyst/attachments/20170301/1d5ba2e8/attachment.htm>
More information about the Catalyst
mailing list