【问题标题】:symfony doctrine three tables one query to Pager (Pagination)?symfony学说三表一查询到Pager(分页)?
【发布时间】: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();

我无法获取用户名。

【问题讨论】:

    标签: symfony1 doctrine pagination pager


    【解决方案1】:
    ------------------------
    ID | image_id | file
    ------------------------
    1  |    1     |image1.png
    2  |    2     |image2.png
    

    是的。对不起。我是新来的。我回答了。

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多