2017-11-28 15:59:08 2349次浏览 6条回答 0 悬赏 35 金钱

例如 where (a=1 and (b=2 or c=3 or(d=4 and e=5 or (f like '%6%' and g=7)))) 来来来 你给我用框架的组合来写下?补一句 这条件并不是不变的 有可能 b=2 or c=2 这个条件不存在 要写成灵活的

  • 回答于 2017-11-29 15:25 举报

    抬走吧,下一个。

  • 回答于 2017-11-30 09:21 举报

    兄弟,你这想法就有问题,这种的干嘛一定要用sql拼出来呢,用PHP的逻辑线梳理一下,就能简化好多

  • 回答于 2017-11-30 09:22 举报

    而且你这个问题提出来,估计看完问题,没几个人细看就走了

  • 回答于 2017-11-30 10:34 举报

    抬走吧,下一个。

  • 回答于 2017-12-05 11:43 举报

    是不是可以多写几句
    if(a){
    $model->where(a=xx)
    }
    if(a && b){
    $model->where(a=xx)->andWhere(b=xx)
    }

  • 回答于 2017-12-08 10:52 举报
    $someModel::find()->where([
    	'AND',
    	['a' => 1],
    	[
    		'OR',
    		['b' => 2],
    		['c' => 3],
    		[
    			'OR',
    			[
    				'AND',
    				['d' => 4],
    				['e' => 5],
    			],
    			[
    				'AND',
    				['like', 'f', '6'],
    				['g' => 7],
    			]
    		],
    	]
    ])->asArray()->all();
    

    如上, 至于 某些条件不存在 的时候,按层级控制数组元素就行了

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
xiaoqun
试用期

xiaoqun

注册时间:2017-03-02
最后登录:2017-12-18
在线时长:4小时28分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分45

热门问题