【问题标题】:Issue with Propel Criteria::IN推进标准问题::IN
【发布时间】:2012-09-03 11:30:38
【问题描述】:

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

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' )

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

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

【问题讨论】:

    标签: symfony1 symfony-1.4 propel


    【解决方案1】:

    试试看

    $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 一起使用。

    【讨论】:

    • 我会说:不是字符串(而不是 not CSV
    • 谢谢@J0k,YP。现在,由于截止日期的压力,我正在犯错误。我在 Jobeet 教程中读到了这一点,但我仍然没有考虑预先存在的方法的输出。不管怎样,谢谢你们俩。 Stackoverflow 再次救了我。完成我的项目后,我必须感谢 Stackoverflow,特别是 j0k。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    相关资源
    最近更新 更多