2011-01-29 13 views
0

私は3つのテーブルがあります。ウェブサイト上symfony doctrine 3つのテーブルを1つのページャ(ページ番号)にクエリしますか?

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 

を、ユーザーが画像をアップロードすることができます。ユーザーがログインしている場合、 と画像をアップロードすると、Table Imageのuser_idはTable UserのユーザーIDになります。 ユーザーがログインしていない場合、user_idはTable Imageで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(); 

私はユーザ名を取得することはできません。

答えて

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

ええ。ごめんなさい。私はここで新しいです。私は答えました。

関連する問題