作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
MySQL 语法
SELECT users.*, roles.name, departments.name FROM users
INNER JOIN roles ON users.roleId = roles.id
INNER JOIN departments ON users.department = departments.id
WHERE users.roleId = 3 AND (
users.name LIKE '%%' OR
users.email LIKE '%%' OR
users.phone LIKE '%%' OR
departments.name LIKE '%%' OR
roles.name LIKE '%%'
)
ORDER BY update-date DESC
LIMIT 0, 10
我尝试用 Idiorm 语法编写此内容,但 WHERE blabla AND (LIKE OR LIKE) 不起作用
$backRows = ORM::for_table('users')
->select(['departments.name', 'roles.name', 'users.*'])
->join('roles', array(
'roles.id', '=', 'users.roleId'
))
->join('departments', array(
'departments.id', '=', 'users.department'
))
->where('users.roleId', 3)
// don't work ->where_raw('(`users.name` = ? OR `users.email` = ?)', ['%'.$search.'%', '%'.$search.'%'])
->limit($body['perPage'])->offset($body['currentPage'] * $body['perPage'] - $body['perPage'])
->{ 'order_by_' . $body['order'] }($body['sort'])
->findArray();
最佳答案
после 10и часов курения доков заработало вот так:
$backRows = ORM::for_table('users')
->select(['departments.name', 'roles.name', 'users.*'])
->join('roles', ['roles.id', '=', 'users.roleId'])
->join('departments', ['departments.id', '=', 'users.department'])
->where_not_equal('users.roleId', 3)
->where_raw('(users.name LIKE ? OR users.email LIKE ? OR users.phone LIKE ? OR roles.name LIKE ? OR departments.name LIKE ?)', ['%'.$search.'%', '%'.$search.'%', '%'.$search.'%', '%'.$search.'%', '%'.$search.'%'])
->limit($body['perPage'])->offset($body['currentPage'] * $body['perPage'] - $body['perPage'])
->{ 'order_by_' . $body['order'] }($body['sort'])
->findArray();
关于php - 如何用 Idiorm 语法写这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43715334/
我是一名优秀的程序员,十分优秀!