我想在用户搜索结果中显示他们的照片。不仅头像照片,但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