如何为这些实体编写 DQL?

发布于 2024-12-04 14:26:54 字数 442 浏览 0 评论 0原文

我有实体被视为数据库屏幕截图:

您可以在此处看到屏幕截图-> http://imageshack.us/photo/my-images/830/asdsasda。 jpg/

我想通过给出 TnRegion 参数来引入 TnModuleItem 的对象数组。

我怎样才能用DQL编写来带来这个查询。

编辑:我想写一个这样的模型:

public function get_module_items_by_region_id($region_id){
// code comes here
return $tnModuleItemsObj //TnModuleItemsObject
}

I have entities seen as DB screenshot:

You can see the screenshot here-> http://imageshack.us/photo/my-images/830/asdsasda.jpg/

I want to bring an object array of TnModuleItem by giving a TnRegion parameter.

How can i write in DQL to bring this query.

Edit: I want to write a model like this:

public function get_module_items_by_region_id($region_id){
// code comes here
return $tnModuleItemsObj //TnModuleItemsObject
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回忆躺在深渊里 2024-12-11 14:26:54

如果您尝试类似的操作:

 <?php
 public function get_module_items_by_region_id($region_id){
     $query = $em->createQuery('SELECT i FROM \namespace\TnRegionModuleItem as i WHERE i.regionId = :region_id');
     $query->setParameter('region_id', $region_id)

     return $query->getResult()
 }     

 ?>

当然,您应该从某个地方获取您的实体管理器并放入变量 $em,在我的例子中,我使用 Zend Framework 的 Bisna“胶水”,并通过 Zend_Registry 检索它,但这可能与您的情况不同案件。

使用结果值,您可以 foreach 模块项,并且每个元素都是 tnModuleItem 对象。

祝你好运!

And if you try something like:

 <?php
 public function get_module_items_by_region_id($region_id){
     $query = $em->createQuery('SELECT i FROM \namespace\TnRegionModuleItem as i WHERE i.regionId = :region_id');
     $query->setParameter('region_id', $region_id)

     return $query->getResult()
 }     

 ?>

Offcourse you should get your entitymanager somewhere from and put in the variable $em, in my case I use the Bisna 'glue' for Zend Framework and I retrieve it by the Zend_Registry but that could be different in your case.

With the result value you can foreach your module items and every element is a tnModuleItem object.

Good luck!

找个人就嫁了吧 2024-12-11 14:26:54

好的。我解决了这个问题:

            $query = $this->em->createQuery('SELECT rmi, mi FROM TnRegionModuleItem rmi JOIN rmi.moduleItem mi JOIN rmi.pageRegion pr JOIN pr.region r WHERE r.id = :regionid');

必须选择一个根实体。

OK. I solved problem with this:

            $query = $this->em->createQuery('SELECT rmi, mi FROM TnRegionModuleItem rmi JOIN rmi.moduleItem mi JOIN rmi.pageRegion pr JOIN pr.region r WHERE r.id = :regionid');

must select a root entity.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文