Mysql DBIx::类临时列
我正在使用,我有这样一个查询:Mysql DBIx::类临时列,mysql,perl,catalyst,temporary,dbix-class,Mysql,Perl,Catalyst,Temporary,Dbix Class,我正在使用,我有这样一个查询: $groups = $c->model('DB::Project')->search( { "sessions.user_id"=>$c->user->id,done_yn=>'y' }, { select => ["name", "id",\'SUM(UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time)) as total_time'], #\'' j
$groups = $c->model('DB::Project')->search(
{ "sessions.user_id"=>$c->user->id,done_yn=>'y' },
{
select => ["name", "id",\'SUM(UNIX_TIMESTAMP(end_time)-UNIX_TIMESTAMP(start_time)) as total_time'], #\''
join => 'sessions',
}
);
我希望能够获得SUM(UNIX\u TIMESTAMP(end\u time)-UNIX\u TIMESTAMP(start\u time))的值
,但由于这不是表中的实际列,因此引用对象的总时间似乎不起作用。有人知道我如何得到这些临时列吗?谢谢 这篇文章完美地描述了如何实现你想要实现的目标。
还建议尽可能避免使用文字SQL,您可以使用{sum=>\'UNIX\u时间戳(end\u time)-UNIX\u时间戳(start\u time)}
。
文字SQL中的“as”不需要为列指定名称,您必须使用as search属性或更好的columns快捷方式,而不是选择+as。我知道您的意思。有好的一面也有坏的一面,但我觉得我对SQL已经很熟悉了,所以这并没有太大帮助。只是我正在编写一个catalyst应用程序,很多东西都集成到了
DBIx::Class
中,我基本上觉得我必须使用它。