gpt4 book ai didi

php - 手动编写 DQL

转载 作者:可可西里 更新时间:2023-10-31 23:39:45 26 4
gpt4 key购买 nike

我正在 Doctrine Documentation 中尝试这部分其中你可以:


手动编写DQL

对于您这些 SQL 爱好者,我们没有忘记您。您可以选择手动编写 DQL 查询并将它们解析为 Doctrine_Query 实例或直接执行它们。

$dql = "FROM User u, u.Phonenumbers p";
$q = Doctrine_Query::create()->parseQuery($dql);

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

$dql = "FROM User u, u.Phonenumbers p";
$q = Doctrine_Query::create()->query($dql);

但是我遇到了困难,因为我遇到了以下错误:

Attempted to load class "Doctrine_Query" from namespace "AppBundle\Controller". Did you forget a "use" statement for another namespace?

你能帮我解决这个问题吗?

<?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));
}

最佳答案

这是 Doctrine 1.2 的一部分 而不是 Doctrine 2.5 。在最新版本中,您只需在 Doctrine Query Language 中创建查询createQuery() .

<?php
$dql = "FROM User u, u.Phonenumbers p";
$query = $em->createQuery($dql);
$users = $query->getResult();

或者你可以写 Native SQL

关于php - 手动编写 DQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29886262/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com