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

原理加入DQL
EN

Stack Overflow用户
提问于 2010-06-21 22:57:40
回答 3查看 4.2K关注 0票数 0

我想在一个特定ID上的两个表之间做一个连接。

代码语言:javascript
复制
$q = Doctrine_Query::create()
         ->select('e.*, i.itemName, i.itemtypeId')
         ->from('Model_EventItem e')
         ->leftJoin('Model_Item i ON e.itemId = i.itemId')
         ->where('e.eventitemId = ?', $event->eventId)
         ->orderBy('i.itemName ASC');

结果是空的,尽管我的eventId有一个值...你能帮帮我吗?我有一个关于DQL-joins的教程吗?在Doctrine文档的帮助下,我不能正确地理解它。

谢谢!

另外,我有与Zend框架相结合的原理。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-23 03:29:38

您需要向模型添加关系并使用该关系连接表

代码语言:javascript
复制
$q = Doctrine_Query::create()
     ->select('e.*, i.itemName, i.itemtypeId')
     ->from('Model_EventItem e')
     ->leftJoin('Model_EventItem.Model_Item i')
     ->where('e.eventitemId = ?', $event->eventId)
     ->orderBy('i.itemName ASC');
票数 1
EN

Stack Overflow用户

发布于 2010-12-21 16:50:19

您应该将左连接中的名称从Model_EventItem更改为e

代码语言:javascript
复制
$q = Doctrine_Query::create()
     ->select('e.*, i.itemName, i.itemtypeId')
     ->from('Model_EventItem e')
     ->leftJoin('Model_EventItem.Model_Item i')
     ->where('e.eventitemId = ?', $event->eventId)
     ->orderBy('i.itemName ASC');
票数 1
EN

Stack Overflow用户

发布于 2010-06-22 16:35:49

代码语言:javascript
复制
$q = Doctrine_Query::create()
     ->select('e.*, i.itemName, i.itemtypeId')
     ->from('Model_EventItem e, e.Model_Item i')
     ->where('e.eventitemId = ?', $event->eventId)
     ->orderBy('i.itemName ASC');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3085763

复制
相关文章

相似问题

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