我正在尝试在我的查询中添加以下条件
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' )
在字符串上添加单引号。如果我手动删除该单引号,则查询会成功运行。
有没有办法强制推动不要将单引号放在值中?
答案 0 :(得分: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。