2011-12-14 32 views
0

我正在使用內部聯接語句從表格場和用戶中檢索數據。不過,我想有一個數組看起來像這樣不同陣列中的內部聯接結果

$resultsFromVenueTableArray = array(

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

); 

,而不僅僅是一個數組充滿了檢索的數據看起來像這樣的:

$resultsFromQuery = array(

    $venueKey, 
    $userKey, 
    $venueKey... 

) 

我怎麼能做到這一點?

這是我的代碼;

$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; 
}