tp框架可以这样使用if ...else...吗?

supplier:供应商
dealer:经销商

select * from table
where
    if(supplier!=0){            //当供应商不为0时,goods_id使用供应商的goods_id 
        goods_id=supplier_goods
    }
    else(dealer!=0){           //当经销商不为0时,goods_id使用经销商的goods_id      
        goods_id=dealer_goods 
    }
    

可以有这种写法吗? tp中又该怎么写?

白衣染霜花
浏览 952回答 7
7回答

烙印99

//大概这样,只是个大概:if($supplier !==0 ){ //当供应商不为0时,goods_id使用供应商的goods_id $where = 'goods_id=supplier_goods'; }else($dealer !== 0){ //当经销商不为0时,goods_id使用经销商的goods_id $where = 'goods_id=dealer_goods'; }$data = $mysql->query("select * from table where {$where}");建议将判断逻辑放在前面,让SQL一目了然

森栏

$where['goods_id'] = ($supplier != 0) ? $supplier_goods : $dealer_goods; Db::table('table')->where($where)->select();

桃花长相依

定义一个变量来存储你的两个条件,把这个变量放在where后

素胚勾勒不出你

1.将条件直接写在where里面;2.将条件写在变量,然后where里面是该变量;3.直接用query。

喵喔喔

你直接在外面把变量的值判断好,然后查询的时候把变量写进去不是美滋滋吗

潇潇雨雨

用个三目运算就OK了
打开App,查看更多内容
随时随地看视频慕课网APP