簡體   English   中英

內部聯接導致不同的數組

[英]Inner join results in different arrays

我正在使用內部連接語句從表Venues和Users中檢索數據。 但是,我想有一個像這樣的數組

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

}

從問題中不清楚您到底想做什么,但是您可以像這樣從兩個表中提取特定的列:

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

這將允許您僅從“用戶”中拉出“用戶名”列。

聯接總是會給您留下一系列的行,如果您需要其他東西,則一旦在PHP中獲得數據,您可能就不得不操縱數據,除非我誤解了您的問題。

這樣的事情將使用戶獲得所有場所,用戶名作為數組鍵:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM