join 多表联查

浏览:1385 发布日期:2018/08/14 分类:求助交流 关键字: jion and or
 $join = [
            ['goods g','b.aim=g.id'],
            ['news n','b.aim=n.id'],
        ];
        $where = array(
            'g.name' =>   array('like',"%$search%"),
            'b.type' => 1,
        );
        $where2 = array(
            'n.title' =>   array('like',"%$search%"),
            'b.type' => 1,
        );
        //查询结果
        $result = db("banner")->alias('b')->join($join)->where($where)->whereOr($where2)->limit($start,$length)->order('b.sort')->fetchSql(true)->select();
这里返回的结果是SELECT * FROM `m_banner` `b` INNER JOIN `m_goods` `g` ON `b`.`aim`=`g`.`id` INNER JOIN `m_news` `n` ON `b`.`aim`=`n`.`id` WHERE  `g`.`name` LIKE '%%'  AND `b`.`type` = 1 OR `n`.`title` LIKE '%%'  OR `b`.`type` = 1 ORDER BY `b`.`sort` LIMIT 0,100而我需要的是SELECT * FROM `m_banner` `b` INNER JOIN `m_goods` `g` ON `b`.`aim`=`g`.`id` INNER JOIN `m_news` `n` ON `b`.`aim`=`n`.`id` WHERE  (`g`.`name` LIKE '%%'  AND `b`.`type` = 1) OR (`n`.`title` LIKE '%%'  AND `b`.`type` = 1) ORDER BY `b`.`sort` LIMIT 0,100求助大佬,已经整了2天了,也查看很多资料,还是没对,
最佳答案
评论() 相关
后面还有条评论,点击查看>>