私はこのようにPDOと結合しています:
SELECT users.*,images.*, sessions.*,social.*,videos.*,teams.*,achievements.*,_achievements_list.* FROM users LEFT JOIN images ON users.user_id=images.user_id LEFT JOIN sessions ON users.user_id=sessions.user_id LEFT JOIN social ON users.user_id=social.user_id LEFT JOIN videos ON users.user_id=videos.user_id LEFT JOIN teams ON users.user_id=teams.user_id LEFT JOIN achievements ON users.user_id=achievements.user_id LEFT JOIN _achievements_list ON achievements.achievement_id=_achievements_list.parent_id WHERE users.nickname = 'something'
問題は、いくつかのテーブルがいくつかの列に同じ名前を持っていることです。そのため、PDO が返す配列では、多くのものが上書きされます。
私はこれを使用しています:
$statement = $this->pdo->prepare($query);
if ($statement->execute($param))
return $statement->fetchAll(PDO::FETCH_ASSOC);
return false;
PDO は連想配列を返しますが、同じ名前で別のテーブルの列を上書きしないようにするにはどうすればよいですか?