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 に答える