SQLite 데이터베이스에 테이블이 있고 Account라는 스키마가 있습니다. 또한 사용자를 검색하는 양식이 있습니다. 내 컨트롤러에서이 작업을 수행합니다.Perl 복수 열을 검색하는 Catalyst 함수 검색
my $params ||= $c->req->parameters; # Don't know what the difference is between ||= and =, did that way because someone had done it to and it works
my $search_term = $params->{search};
if($c->request->params{submit})
{
$c->stash->{search_term} = $search_term;
$c->stash->{search_results} = $c->model("DB::Account")->find({
firstname => { like => "%$search_term%" },
}) if $c->stash->{search_term};
}
그런 다음 제 생각에는 이걸 가지고 있습니다.
[% IF search_results > 0 %]
[% FOREACH results IN search_results %]
[% results.email %] <br/>
[% results.firstname %]
[% END %]
위의 코드는 정상적으로 작동합니다. 내가하고 싶은 일은 firstname
, lastname
또는 하나의 열 대신 다른 열과 일치하는 테이블을 검색하는 것입니다.
저는 Catalyst 프레임 워크와 Perl에 매우 익숙합니다. (매우 진보 된 것은 아니지만 perl로 처리했습니다.) 도움과 팁을 주시면 감사하겠습니다. 이것에 관해서
: 추가 정보를 위해 당신은 당신이 사용해야 당신의 TT 파일에 결과를 확인하기 위해 DBIx::Class::ResultSet
UPD
을 읽을 필요 [%를 results.email | html %]
[% results.firstname | html %] 또한이 예제에서는 [% IF ... %] 문이 필요하지 않으며 잘못되었을 수도 있습니다 (IF search_results.size> 0) – Julien
팁을 주셔서 감사합니다. – Grigor