我想在用戶搜索結果中顯示他們的照片。不僅頭像照片,但3張照片。照片在額外的表user_photos中。如果我得到單行每個用戶的答案將是明確的 - 內部加入。但是我會爲每個用戶獲得多行。每個結果的子查詢或使用php循環或內部連接...?
我可以用第一種方法是加入:
SELECT * FROM users INNER JOIN photos ON photos.user_id=users.user_id
在這種情況下,我需要一些額外的PHP代碼合併與同USER_ID結果。是這樣的:
foreach($results as $result){
if(isset($user[$result['user_id']]['age'])){
$user[$result['user_id']]['photos'][] = $result['photo'];
continue;
}
$user[$result['user_id']]['age'] = $result['age'];
$user[$result['user_id']]['photos'][] = $result['photo'];
//...
}
如果是視圖我需要爲用戶第一第一級循環,然後用於$用戶[$結果[「USER_ID」]] [「照片」]陣列中的每個用戶第二級環路。
或我可以用於每個結果子查詢。沒有任何選擇看起來優雅,所以我想知道是否有其他方式。如果不是,可能第一個選擇是一種方法,對嗎?
這是什麼意思段:用同樣的USER_ID等領域,_merge結果**照片除外** ..._ – hjpotter92 2012-07-12 08:15:01
我以更好的方式進行說明。 – JohnyFree 2012-07-12 08:27:17