当我在 send 中尝试以下 mysql 查询时,我只得到一个空的结果集(应该被填充)。
我在我的 mysql 工作台中尝试了以下查询(返回结果)
SELECT `websites`.*, `s`.`website_id` AS `websites.id`
FROM `websites`
INNER JOIN `websites_statistics` AS `s` ON `s`.`website_id` = `websites`.`id`
WHERE `websites`.`website` = 'google.com' LIMIT 0,1
这是我的 ZF2 应用程序中的一个(空结果集)
$sql = new Sql($this->tableGateway->getAdapter());
$select = $sql->select();
$select->from('websites')
->join(array('s' => 'websites_statistics'), 's.website_id = websites.id', array('websites.id' => 'website_id'), \Zend\Db\Sql\Select::JOIN_INNER)
->where(array('websites.website' => 'google.com'));
$resultSet = $this->tableGateway->selectWith($select);
echo $select->getSqlString();
return $resultSet;
调试结果:
SELECT "websites".*,
"s"."website_id" AS "websites.id"
FROM "websites"
INNER JOIN "websites_statistics" AS "s" ON "s"."website_id" = "websites"."id"
WHERE "websites"."website" = 'google.com'
(!updated) 查询了一下,所以更容易。我认为第一时间出了点问题,因为我认为 "s"."website_id" AS "websites.id" 必须朝另一个方向翻转 .. "websites.id" AS "s"."website_id" 我需要website.id 按 website_id 从 website_statistics 表中获取记录。
提前致谢!
缺口