2011-12-14 4 views
0

내부 조인 문을 사용하여 Venues 및 Users 테이블에서 데이터를 검색하고 있습니다.다른 배열의 내부 조인 결과

$resultsFromQuery = array(

    $venueKey, 
    $userKey, 
    $venueKey... 

) 

가 어떻게이를 수 : 그러나, 나는 배열이 같은 뭔가를 찾고 검색된 모든 데이터의

$resultsFromVenueTableArray = array(

    $relevantVenueKey => $relevantVenueValue, 
    $resultsFromUserTable => $arrayOfValuesFromUserTable 

); 

아니라 하나 개의 배열에 비해 전체처럼 보이는 싶은?

내 코드는 다음과 같습니다.

$query = $this->db->query("SELECT * FROM Venues INNER JOIN Users ON Users.id = $userID", array($userID)); 

$venues = array(); 

foreach ($query->result() as $row) { 

    $row->username = $username; 
    $venues[] = $row; 

} 

답변

1

당신이하고 싶은 정확히 질문에서 명확하지 않다,하지만 당신과 같이 두 테이블에서 특정 컬럼을 뽑을 수 :

SELECT Venues.*, Users.username FROM Venues INNER JOIN Users ON... 

것은 당신이 당겨 할 수 있도록 것이다 '사용자'의 '사용자 이름'열만

조인은 항상 행의 배열로 당신을 떠날 것입니다. 다른 것이 필요하다면 PHP로 얻은 데이터를 조작해야 할 것입니다. 질문을 오해하지 않는 한.

$venuesByUser = array(); 
foreach ($query->result() as $row) { 
    $venuesByUser[$row->username][] = $row; 
} 
이 같은

뭔가 배열의 키와 사용자 이름, 사용자가 당신에게 모든 장소를 얻을 것