$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天了,也查看很多资料,还是没对, 最佳答案