Php 内部联接会导致不同的数组
我使用一个内部join语句从表和用户检索数据。但是,我希望有一个这样的数组Php 内部联接会导致不同的数组,php,mysql,inner-join,Php,Mysql,Inner Join,我使用一个内部join语句从表和用户检索数据。但是,我希望有一个这样的数组 $resultsFromVenueTableArray = array( $relevantVenueKey => $relevantVenueValue, $resultsFromUserTable => $arrayOfValuesFromUserTable ); 而不仅仅是一个数组,其中包含所有检索到的数据,如下所示: $resultsFromQuery = array(
$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;
}