本文介绍了在cakephp ORM的find方法中如何使用SQL IN操作符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 cakephp 的初学者,我想在 find 方法中使用 SQL IN 运算符,我有单词表.
我的代码是:

i am beginner in cakephp , and i want use SQL IN operator in find method , i have words table.
my code is :

$this->Word->find('Word.wordid in (83,82)');

,此代码创建此查询:

SELECT `Userword`.`userwordid`, `Userword`.`userid`, `Userword`.`wordid`,
`Userword`.`date`, `Userword`.`levelid` FROM `userwords` AS `Userword` WHERE
`Userword`.`wordid` = (82)

但我需要这个查询

SELECT `Userword`.`userwordid`, `Userword`.`userid`, `Userword`.`wordid`,
Userword`.`date`, `Userword`.`levelid` FROM `userwords` AS `Userword` WHERE
`Userword`.`wordid` IN (83,82)

如何获得这样的查询(使用 IN 运算符)
谢谢.

how can getting like this query (using IN operator )
thanks.

推荐答案

你需要让 cake 来解决这个问题——简单地使用它,因为它是一个字符串(但要确保它是一个数组):

you need to let cake take care of that - simply use it as it was a string (but make sure it is an array):

$arrayOfIds = [1, 5, ...];
$this->Word->find('all', array(
    'conditions' => array('Word.wordid' => $arrayOfIds)
));

这篇关于在cakephp ORM的find方法中如何使用SQL IN操作符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-22 10:11