fetus Diary

twitter: @fetus_hina / Twilog
ポプともID: 4174-5004-0070 (チャレ/最高38/安定34)
IIDX ID: 3604-3873 (SP六段底辺)

2008/10/14(火) - ちょっとわかってきた

$select = $this->getConnection()->select();
$select->from('idols',          'idols.*')
       ->join('versions_idols', 'idols.id = versions_idols.idol_id', NULL)
       ->join('colors',         'versions_idols.color_id = colors.id', 'colors.color')
       ->join('versions',       'versions_idols.version_id = versions.id', NULL)
       ->where('idols.family_name_ja||idols.first_name_ja = ?', $name)
       ->order(array('versions.sort', 'versions_idols.sort'));
if($version_id) {
    $select->where('versions_idols.version_id = ?', $version_id);
}
echo $select->__toString();

こう書くと

SELECT
    "idols".*,
    "colors"."color"
FROM
    "idols"
        INNER JOIN "versions_idols" ON
            idols.id = versions_idols.idol_id
        INNER JOIN "colors" ON
            versions_idols.color_id = colors.id
        INNER JOIN "versions" ON
            versions_idols.version_id = versions.id
WHERE
    (idols.family_name_ja||idols.first_name_ja = '高槻やよい')
AND
    (versions_idols.version_id = '4fcef835-d0c8-476f-8975-32e0e18c4d78')
ORDER BY
    "versions"."sort" ASC,
    "versions_idols"."sort" ASC

こういうのが生成されるのか。ふーん。

# from をたくさん呼んでみたら join/joinInner 扱いされてた…

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: