作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑一下,我们有用户,用户有帐户(一对多)。现在我完全陷入了以下问题:我们提供 $query
并希望返回所有用户:
全名 LIKE %$query%
OR电子邮件地址类似于 %$query%
或组织 LIKE %$query%
我已经尝试过连接和可遏制行为,但没有成功。通过连接,我们可以实现这一点,但问题是,数据不是以蛋糕的方式结构化的(即使同一用户出现多次,我们也只能得到一行专业匹配)。对数据进行排序是不行的,因为这个 Controller 必须非常快。
救命!
最佳答案
尝试使用 -
$this->User->find(
'all',
array(
'conditions' => array(
'OR' => array(
'User.fullname LIKE' => '%'.$query.'%',
'User.email LIKE' => '%'.$query.'%',
'Account.organisation LIKE' => '%'.$query.'%',
),
),
'contain' => 'Account',
)
);
使用别名 -
$qry = "select * from users as u, accounts as a where u.fullname like %$query% or u.emaillike %$query% or a.organisation like %$query%";
$results = $this->query($qry);
关于php - CakePHP/MySQL : find with a condition for model itself and an assigned model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27039781/
我是一名优秀的程序员,十分优秀!