У меня есть следующий код DBIx :: Класс:Выбрать из нескольких таблиц в DBIx :: Класс
my $where = 'me.loginid = ? AND me.code = ?';
my @bind = ($loginID, $code);
my $tip_signals = $bom_schema->resultset('Table1')->search_literal(
$where, @bind,
{
join => 'table2',
group_by => [ 'me.id' ],
'+select' => [ {'count' => '*'}, 'table2.id' ],
'+as' => [ 'Count', 'ID' ],
});
Следующий оператор SQL был создан на основе вышеприведенного кода DBIx :: Класс:
SELECT me.id, me.loginid, me.tipster_date, me.code, me.short_code_without_payout, COUNT(*), table2.id
FROM table1 me LEFT JOIN table2 table2 ON table2.tip_signals_id = me.id
WHERE (
me.loginid = 'yccheok' AND me.code = 'ALIBABA_CODE'
)
GROUP BY me.id
Теперь я хочу получить результат из 4 таблиц. Я пишу свой собственный код SQL вручную:
SELECT me.id, me.loginid, me.tipster_date, me.code, me.short_code_without_payout, COUNT(*), table2.id
FROM table1 me, table2, referrers, affiliates
WHERE (
me.loginid = 'yccheok' AND me.code = 'ALIBABA_CODE'
and table2.tip_signals_id = me.id
and referrers.affiliates_id = affiliates.id
and affiliates.loginid = me.loginid
and referrers.loginid = table2.loginid
)
GROUP BY me.id
Я пытаюсь перевести выше SQL заявление в DBIx :: Класс следующим образом:
my $where = 'me.loginid = ? AND me.code = ? AND table2.tip_signals_id = me.id AND referrers.affiliates_id = affiliates.id AND affiliates.loginid = me.loginid AND referrers.loginid = table2.loginid';
my @bind = ($loginID, $code);
my $tip_signals = $bom_schema->resultset('Table1')->search_literal(
$where, @bind,
{
from => [ {table2=>'table2'}, {referrers=>'referrers'}, {affiliates=>'affiliates'} ],
group_by => [ 'me.id' ],
'+select' => [ {'count' => '*'}, 'table2.id' ],
'+as' => [ 'Count', 'ID' ],
});
я получаю исключение «Не ссылку ARRAY» в то время как я пытаюсь выполнить следующийрезультаты поиска. Обратите внимание, что мне не разрешалось использовать join в DBIx :: Class, as источники и аффилированные лица столы, не имеют отношения к * таблицам *** таблиц.
Как я могу получить DBIx :: Класс, эквивалентный таблице множественных отображений SQL?