[英]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.