decadence

個人のメモ帳

メモ(SQL::Makerでのjoin,JSON::PP::Boolean)

SQL::Makerでのjoin

いつも分からない,ってか無理☆だけど一応

欲しいSQL

SELECT comment.*, evaluation
    FROM comment LEFT JOIN comment_evaluation
        ON comment.uid = comment_evaluation.comment_id
    WHERE question_id = 1
    ORDER BY comment.created DESC;

SQL::Maker使う

my $builder = SQL::Maker->new(driver => 'mysql');
$builder->select(
    undef,
    ['comment.*', 'evaluation'],
    { question_id => '1'},
    {
        order_by => 'created DESC',
        joins => [
            [comment => {
                type => 'LEFT',
                table => 'comment_evaluation',
                condition => 'comment.uid = comment_evaluation.comment_id'
            }],
        ],
    }
);

JSON::PP::Boolean

JSON::XS使ってjsonパースすると,bool値について,前までJSON::XS::Booleanが返ってきた.
これは直接以下のように書けた

if ($hoge){}

昨日JSON::XSが3.0になった際に,bool値がJSON::PP::Booleanで返ってくるようになった.
これの条件判断は上記のように書いたままでは通らない.
実際に判定する際は以下のように書く

if ($$hoge){}

詳しい事は知らないが誰得