<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Tao

    Tao obeys its own inherent Nature

    How To: Using symfony to add a join between tables

    1. simple join two tables

    purpose:
    generate sql like:   

    select * from photo p
        left join artist a on p.artist_id = a.artist_id
          where a.genre = 'something' and p.genre = 'something'
    

    code:           

    if(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
        $criteria->addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
    }
    $criteria->add(ArtistPeer::GENRE, $genre);    
    $criteria->add(PhotoPeer::GENRE, $genre);

    2. join two tables, add AND OR between conditions
    purpose:
    generate sql like:    

    select * from photo p
        left join artist a on p.artist_id = a.artist_id
          where (a.genre = 'some' or p.genre='something')
            and a.name = 'something'

    code:   

    if(!CriteriaUtil::hasJoin($criteria, ArtistPeer::TABLE_NAME)){
       $criteria->addJoin(PhotoPeer::ARTIST_ID, ArtistPeer::ARTIST_ID, Criteria::LEFT_JOIN);
    }
    $criteria->add(ArtistPeer::GENRE, $genre);
    $c = $criteria->getCriterion(ArtistPeer::GENRE);
    if($c != null){
       $c->addOr($criteria->getNewCriterion(PhotoPeer::GENRE, $genre));
    }
    $criteria->add(ArtistPeer::NAME, $name);

     

    Note:
    It's a good habit to check if we have joined the table already. to check this, you can use the following util class, it get all the joined tables, and check if the table exists in them.

    class CriteriaUtil{
        public static function hasJoin($c, $table_name){
            $joins = $c->getJoins();
            if($joins != null){
                foreach($joins as $join){
                    if($join->getRightTableName() == $table_name){
                        return true;
                    }
                    if($join->getLeftTableName() == $table_name){
                        return true;
                    }
                }
            }
            return false;
        }
    }
    

    posted on 2007-12-05 17:26 wade 閱讀(539) 評論(0)  編輯  收藏 所屬分類: PHPSymfony


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    <2007年12月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    統(tǒng)計

    常用鏈接

    留言簿(7)

    隨筆分類

    隨筆檔案

    相冊

    Photo

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99久久久国产精品免费无卡顿| 毛片视频免费观看| 亚洲一区二区三区免费视频| 国产做床爱无遮挡免费视频| 不卡视频免费在线观看| 亚洲精品国产国语| 亚洲另类激情综合偷自拍图| 九九精品免费视频| 美女巨胸喷奶水视频www免费| 亚洲AV一二三区成人影片| 亚洲性日韩精品国产一区二区| 黄在线观看www免费看| 乱淫片免费影院观看| 久久亚洲精品成人无码网站| 国产99视频精品免费视频7| 精品无码国产污污污免费网站 | 国产免费不卡v片在线观看| 人人爽人人爽人人片A免费| 亚洲国产午夜电影在线入口| 亚洲国产人成中文幕一级二级| 精品久久久久久久久免费影院| 国产激情久久久久影院老熟女免费| 亚洲国产精品成人综合久久久| 亚洲日本在线观看视频| 久久精品网站免费观看| 99re这里有免费视频精品| 真人无码作爱免费视频| 亚洲午夜精品一区二区公牛电影院| 亚洲一级特黄大片无码毛片| 女人被弄到高潮的免费视频 | 国产免费变态视频网址网站 | 久草免费在线观看视频| 美女视频黄.免费网址| 亚洲日韩中文字幕| 久久亚洲AV午夜福利精品一区 | 亚洲黄色三级网站| 国产精一品亚洲二区在线播放| 国产三级免费电影| 在线看片人成视频免费无遮挡| 最近中文字幕免费2019| 免费观看男人吊女人视频|