【问题标题】:DBAL Symfony 2 SQL StatementsDBAL Symfony 2 SQL 语句
【发布时间】:2014-04-16 08:55:09
【问题描述】:

我目前正在使用 symfony 和 DBAL 从外部数据库收集数据。

        $conn = $this->get('database_connection');

        $users = $conn->fetchAll('SELECT * FROM cms_clients');

        print_r($users);

上面的代码工作正常,但我需要做更复杂的查询,我能找到的唯一文档是http://doctrine-dbal.readthedocs.org/en/latest/reference/query-builder.html

文档非常好,但我不确定如何在我的示例中实现下面的代码。

$queryBuilder ->select('u.id', 'u.name') ->from('users', 'u') ->where('u.email = ?') ->setParameter(0, $userInputEmail) ;

解决办法,感谢重播

      $conn = $this->get('database_connection');
        $parms = array($DataSource, 'STORE');

        $query = "SELECT * FROM cms_things LEFT JOIN cms_stores ON cms_things.id=cms_stores.thing_id WHERE client_id = ? AND type = ? ";

        $users = $conn->fetchAll($query, $parms);

【问题讨论】:

    标签: php symfony dbal


    【解决方案1】:

    这样的事情可能会有所帮助

    $qb = $em->createQueryBuilder();
    $params = array('state' => 'active');
    $qb->select("DISTINCT (a.id) as url , a.name , a.pages , a.section , a.clickable")
            ->from('Tbl', 'a')
            ->leftJoin('a.country', 'cnt')
            ->where('a.state=:state')
            ->setMaxResults($limit);
    $qb->setParameters($params);
    $query = $qb->getQuery();
    $list = $query->getArrayResult();
    

    【讨论】:

    • 错误:调用未定义的方法 Doctrine\DBAL\Query\QueryBuilder::getQuery() in
    • 可能是不同版本的学说……你的版本是什么?
    • $parms = array($DataSource, 'STORE'); /* LEFT JOIN cms_stores ON cms_things.id=cms_stores.thing_id WHERE client_id */ $query = "SELECT * FROM cms_things LEFT JOIN cms_stores ON cms_things.id=cms_stores.thing_id WHERE client_id = ? AND type = ?";
    猜你喜欢
    • 2018-03-21
    • 2021-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 2018-12-18
    • 2013-08-28
    • 2013-12-21
    相关资源
    最近更新 更多