symfony学说三表一查询到Pager(分页)?
Posted
技术标签:
【中文标题】symfony学说三表一查询到Pager(分页)?【英文标题】:symfony doctrine three tables one query to Pager (Pagination)? 【发布时间】:2011-01-29 07:42:12 【问题描述】:我有三张桌子:
Table 1: Images
------------------------
ID | user_id | title
------------------------
1 | 0 |Image 1
2 | 1 |Image 2
Table 2: Images_Upload (image_id = Table Images ID)
------------------------
ID | image_id | file
------------------------
1 | 1 |image.png
Table 3: User
------------------------
ID | username
------------------------
1 | user1
在网站上,用户可以上传图片。如果用户已登录, 并上传一个图片,那么表图片上的user_id就是表用户的用户id。 如果用户未登录,则表格图片上的user_id为0。
我现在想列出标题、显示图片并显示用户名。 (如果user_id = 0,那么我将显示“noUsername”)
$q = Doctrine_Query::create()
->select('*,e.title, n.file AS file, IF(e.user_id = 0,"noUsername",k.username) AS username')
->from('Images e, ImagesUploads n, User k')
->andWhere('e.id = n.id')
->andWhere('e.user_id = k.id OR e.user_id not k.id');
$this->pager = new sfDoctrinePager(
'Images',
sfConfig::get('app_max_image')
);
$this->pager->setQuery($q);
$this->pager->setPage($request->getParameter('page', 1));
$this->pager->init();
我无法获取用户名。
【问题讨论】:
【参考方案1】:------------------------
ID | image_id | file
------------------------
1 | 1 |image1.png
2 | 2 |image2.png
是的。对不起。我是新来的。我回答了。
【讨论】:
以上是关于symfony学说三表一查询到Pager(分页)?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 学说 DQL 随机结果在使用 MaxResult 的查询中