: P 는 (! YEAH)
는 몇 가지 물건을 다시 작성했고, 잘 부속 선택과 수행의 관계를 잊고 있었다.
나는이 코드가 inicial 질문을 나타내지 않는다는 것을 안다. 그러나 내가 다시 모두 다시 써야한다면, 나는 당신에게 나의 "프로젝트"의 다른 부분을 보여줄 것이다. 여기서 또 다른 어려움이있다.
DBIx :: 클래스 스키마
package DB::Esquema::Passwords;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("Core");
__PACKAGE__->table("Passwords");
__PACKAGE__->add_columns(
"pswd",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 11 },
"password",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 1,
size => 20,
},
"utilizadorid",
{ data_type => "INT", default_value => undef, is_nullable => 1, size => 11 },
);
__PACKAGE__->set_primary_key("pswd");
__PACKAGE__->belongs_to('utilizadorid' => 'DB::Esquema::Utilizadores');
#belongs_to is not autogenerated, done by hand
Utilizadores과 관계가 (사용자)
package DB::Esquema::Utilizadores;
use strict;
use warnings;
use base 'DBIx::Class';
__PACKAGE__->load_components("Core");
__PACKAGE__->table("Utilizadores");
__PACKAGE__->add_columns(
"utilizador",
{ data_type => "INT", default_value => undef, is_nullable => 0, size => 11 },
"nome",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 1,
size => 20,
},
"mail",
{
data_type => "VARCHAR",
default_value => undef,
is_nullable => 1,
size => 30,
},
);
__PACKAGE__->set_primary_key("utilizador");
__PACKAGE__->has_one('utilizador' => 'DB::Esquema::Passwords', 'utilizadorid');
NEXT (을 만들 수있는 스크립트를 :
다음으로 내가 한 일이다 작품)
#!/usr/bin/perl -w
use strict;
use diagnostics; #was important to understand
use lib '/var/www/projectox/lib'; #is where the schema is
use DB::Esquema; #use the Schema
system('clear'); # clear the screen
my $esquema = DB::Esquema->connect("dbi:mysql:dbname=dbswiak","root","");
$esquema->storage->debug(1);
#HAD TO USE PREFETCH
my $resultado = $esquema->resultset('Utilizadores')->search(
undef,{
prefetch => { 'utilizador' => 'utilizadorid' }
}
)->next();
그 결과
SELECT me.utilizador, me.nome, me.mail, utilizador.pswd,
utilizador.password, utilizador.utilizadorid, utilizadorid.utilizador, utilizadorid.nome, utilizadorid.mail
FROM Utilizadores me JOIN Passwords utilizador
ON utilizador.utilizadorid = me.utilizador
JOIN Utilizadores utilizadorid ON utilizadorid.utilizador = utilizador.utilizadorid:
는, 목표는 아마 내가
이 순간에 코드를 다시 작성하고 있습니다 ... – Davidslv