【问题标题】:Equivalent findBy and fetchOne from Doctrine in Propel等效于 Doctrine in Propel 中的 findBy 和 fetchOne
【发布时间】:2011-12-27 20:05:57
【问题描述】:

在教义中我可以做到:

   $article = Doctrine::getTable('Article')->createQuery('a')->where('a.user_id = ?', $this->getUser()->getAttribute('id') )->fetchOne()

$article = Doctrine::getTable('Article')->findBy('user_id', $this->getUser()->getAttribute('id'));

我怎样才能在 Propel 中做到这一点? 我使用 Symfony 1

【问题讨论】:

    标签: php symfony1 doctrine symfony-1.4 propel


    【解决方案1】:

    或用于推进 1.6

    ArticleQuery::create()
        ->filterByUserId($this->getUser()->getId())
        ->findOne();
     //returns Article instance or null
    

    甚至

    ArticleQuery::create()
        ->filterByUserId($this->getUser()->getId())
        ->findOneOrCreate();
     //always returns article instance, if created user id will be already initialized
    

    【讨论】:

      【解决方案2】:

      Propel 非常简单。我给你一个推进 1.4 的答案。这些看起来像同一个查询。

      $article = Doctrine::getTable('Article')->createQuery('a')->where('a.user_id = ?',     $this->getUser()->getAttribute('id') )->fetchOne()
      
      $c = new Criteria; 
      $c->add(ArticlePeer::USER_ID, $this->getUser()->getId()); 
      $article = ArticlePeer::doSelectOne($c); 
      

      【讨论】:

        猜你喜欢
        • 2011-02-12
        • 2011-06-24
        • 2021-01-17
        • 1970-01-01
        • 2016-11-14
        • 2012-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多