【问题标题】:how to convert propel criteria in symfony如何在 symfony 中转换推进标准
【发布时间】:2011-10-05 09:16:12
【问题描述】:

从 tv_channel a 中选择 a.id、b.title、b.start_time、b.end_time 在 a.id = b.tv_channel_id 和 b.start_time >= '2011-09-23 12:00:00' 和 b.end_time

--pager 对象 tnx

【问题讨论】:

    标签: php symfony1 criteria propel


    【解决方案1】:

    有什么问题吗?你想在 Propel 中编写这个 SQL 查询吗?

    <?php
    
    TvChannelQuery::create('a')
        ->joinTvProgram('b')
        ->addJoinCondition('b', 'b.StartTime >= 2011-09-23 12:00:00')
        ->addJoinCondition('b', 'b.EndTime >= 2011-09-23 14:30:00')
        ->orderByCode()
        ->limit(10)
        ;
    

    类似的方法应该可以,但要小心addJoinCondition 中传递的值,这里没有绑定,如果你想更改这些值,你必须使用它来防止 SQL 注入或其他安全问题。

    【讨论】:

      【解决方案2】:
      $c = new Criteria();
      $c->addLeftJoin(tv_channel.id = tv_program .channel_id);
      $c->add(tv_program.start_time, '2011-09-23 12:00:00', Criteria::GREATER_EQUAL);
      $c->add(tv_program.end_time, '2011-09-23 14:30:00', Criteria::LESS_EQUAL); 
      $c->addAscendingOrderByColumn(tv_channel.code);
      $c->setLimit(10);
      $rs = DoSelect($c); //actual select execution here...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-03
        • 2017-04-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多