1

我正在尝试在我的查询中添加以下条件

AND momento_distribution.MOMENTO_IDMEMBER IN ( 5, 1, 3, 10, 11, 12, 18, 32, 51, 6 )

为此,我有以下代码

$friendCsv=Friend::getFriendIdAsCsv($member); //returning string 5, 1, 3, 10, 11, 12, 18, 32, 51, 6
//code
$c->add(MomentoDistributionPeer::MOMENTO_IDMEMBER, $friendCsv, Criteria::IN);

查询失败,因为它正在生成

AND momento_distribution.MOMENTO_IDMEMBER IN ( '5, 1, 3, 10, 11, 12, 18, 32, 51, 6' )

在字符串上添加单引号。如果我手动删除该单引号,查询将成功运行。

有什么方法可以强制不要在值中加上单引号?

4

1 回答 1

5

试试看

$friendCsv=Friend::getFriendIdAsCsv($member); //returning string 5, 1, 3, 10, 11, 12, 18, 32, 51, 6
$friendArr=  explode(',', $friendCsv);
//code
$c->add(MomentoDistributionPeer::MOMENTO_IDMEMBER, $friendArr, Criteria::IN);

Criteria::IN 应该与数组而不是 CSV 一起使用。

于 2012-09-03T11:34:43.760 回答