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