SELECT * FROMusersWHERE (name LIKE'%小明%' AND company LIKE '%科技有限公司%' ) OR (name LIKE'%小红%' AND company LIKE '%股份有限公司%')
最后我是这么完成的,但是觉得极其丑陋
$where = " (name LIKE'%小明%' AND company LIKE '%科技有限公司%' ) OR (name LIKE'%小红%' AND company LIKE '%股份有限公司%' )"
UsersModel::create()->where($where)->all();
一、 关联模型一对多 没有限制返回关联数据数量的功能。
[Thinkphp6] 对于一对多关联来说,如果需要设置返回的关联数据数量,可以使用withLimit方法。
二、 ORM whereOr 复杂查询功能
这样简单的OR查询还能应付
当我的需求是这样子的
SELECT * FROM
usersWHERE (name LIKE'%小明%' AND company LIKE '%科技有限公司%' ) OR (name LIKE'%小红%' AND company LIKE '%股份有限公司%')
最后我是这么完成的,但是觉得极其丑陋
以下是TP手册提供的ORM ,希望官方ORM也加一个这样子的 whereOr 方法
最后生成的sql
SELECT * FROM
think_userWHERE (
nameLIKE 'thinkphp%' AND
titleLIKE '%thinkphp' ) OR (
nameLIKE 'kancloud%' AND
titleLIKE '%kancloud' )