доктрина symfony три таблицы один запрос к пейджеру (разбиение на страницы)?

У меня есть три таблицы:

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 на изображении таблицы — это идентификатор пользователя из таблицы User. Если пользователь не вошел в систему, то 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();

Я не могу получить имена пользователей.


person sPro    schedule 29.01.2011    source источник


Ответы (1)


------------------------
ID | image_id | file
------------------------
1  |    1     |image1.png
2  |    2     |image2.png

Ага. Прости. Я здесь новенький. Я ответил.

person sPro    schedule 29.01.2011