我发现了TP5一个很奇葩的问题,在TP3.2的时候,在一个where里可以用多维数组,设置多项查询条件(子条件)
如:
where([array('id'=>'1','username'=>'2'),array('username'=>'3','password'=>'4'),'_logic'=>'or'])->find();
这段代码生成的sql是
WHERE ( id
= '1' AND username
= '2' ) OR ( username
= '3' AND password
= '4' ) LIMIT 1
上面一个括号就是一个子条件,很清楚明了,但到了TP5,不再支持'_logic'字段,而是采用where和whereOr方法,好像已经不能以子条件的形式生成的SQL了,那要怎么才能写出复杂的where语句呢。请大神指教指教。
数组是支持的:
可以直接使用字符串查询