加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 手动编写DQL

发布时间:2020-12-13 15:55:35 所属栏目:PHP教程 来源:网络整理
导读:我在 Doctrine Documentation中尝试这个部分,你可以: 手动编写DQL 对于你的SQL buff,我们没有忘记你.您可以选择手动编写DQL查询并将其解析为Doctrine_Query实例或只执行它们. $dql = "FROM User u,u.Phonenumbers p";$q = Doctrine_Query::create()-parseQu
我在 Doctrine Documentation中尝试这个部分,你可以:

手动编写DQL

对于你的SQL buff,我们没有忘记你.您可以选择手动编写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 “AppBundleController”.
Did you forget a “use” statement for another namespace?

你能帮帮我吗?

<?php

namespace AppBundleController;

use SymfonyComponentHttpFoundationResponse;
use SymfonyBundleFrameworkBundleControllerController;
use SensioBundleFrameworkExtraBundleConfigurationRoute;
use AppBundleEntityTblProduct;

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的一部分.在最新版本中,您只需使用createQuery()在 Doctrine Query Language中创建查询.

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

或者你可以写Native SQL.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读