首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手动写入DQL

手动写入DQL
EN

Stack Overflow用户
提问于 2015-04-27 02:32:28
回答 1查看 1.3K关注 0票数 4

我正在理论文献中尝试这个部分,您可以:

手动编写DQL

对于您的SQL迷,我们没有忘记您。您可以选择手动编写DQL查询,并将它们解析到Doctrine_Query实例中,或者只执行它们。

代码语言:javascript
复制
$dql = "FROM User u, u.Phonenumbers p";
$q = Doctrine_Query::create()->parseQuery($dql);

或者您可以使用Doctrine_Query的query()方法来执行它们。

代码语言:javascript
复制
$dql = "FROM User u, u.Phonenumbers p";
$q = Doctrine_Query::create()->query($dql);

但是,由于遇到以下错误,我遇到了困难:

试图从名称空间"AppBundle\Controller“加载类"Doctrine_Query”。您忘了另一个名称空间的"use“语句了吗?

你能帮我一下吗?

代码语言:javascript
复制
<?php

namespace AppBundle\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use AppBundle\Entity\TblProduct;

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction()
    {
        $products = "SELECT * FROM TblProduct";
        $q = Doctrine_Query::create()->query($products);

        if (!$products) {
            throw $this->createNotFoundException(
                'No products registered yet.'
            );
        }
        return $this->render('default/index.html.twig', array('products' => $products));
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-11 14:45:53

这是理论1.2的一部分,而不是理论2.5。在最新版本中,您只需在学说查询语言中使用createQuery()创建查询即可。

代码语言:javascript
复制
<?php
$dql = "FROM User u, u.Phonenumbers p";
$query = $em->createQuery($dql);
$users = $query->getResult();

或者,您可以编写原生SQL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29886262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档