首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为该MySQL查询创建ActiveRecord查询?

问如何为该MySQL查询创建ActiveRecord查询?
EN

Stack Overflow用户
提问于 2015-03-29 00:19:09
回答 1查看 103关注 0票数 1

我得到了MySQL查询,我怎么用ActiveRecord写这个?

代码语言:javascript
复制
SELECT *
FROM `sel_posts`
WHERE `login_id` = 22 OR 23 OR 24 ... (this ids from array $ifollow)
ORDER BY `datetime` DESC
LIMIT 0 , 20
EN

回答 1

Stack Overflow用户

发布于 2015-03-29 01:34:04

首先,最好在WHERE部件中用IN替换OR。

假设模型名为SelPost,下面是使用ActiveQuery执行此操作的方法

代码语言:javascript
复制
$models = SelPost::find()
    ->where(['login_id' => $ifollow])
    ->orderBy(['datetime' => SORT_DESC])
    ->limit(20)
    ->all();

where足够智能,可以在$ifollow为数组的情况下自动添加in运算符。

官方文档:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29319455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档