/ / ZF2 Sprzężenie wewnętrzne z klauzulą, gdzie klauzula zwraca pusty wynik - mysql, join, zend-framework2, gdzie

ZF2 Wewnętrzne sprzężenie z klauzulą ​​where zwraca pusty wynik - mysql, join, zend-framework2, where

Kiedy próbuję wykonać zapytanie mysql w send, po prostu odzyskuję pusty zestaw wyników (który miał być wypełniony).

Próbowałem następujące zapytanie w moim mysql workbench (daje wyniki z powrotem)

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

A ten w mojej aplikacji ZF2 (pusty zestaw wyników)

$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"), ZendDbSqlSelect::JOIN_INNER)
->where(array("websites.website" => "google.com"));

$resultSet = $this->tableGateway->selectWith($select);

echo $select->getSqlString();

return $resultSet;

Wynik debugowania:

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"

(! zaktualizowano) Kwerenda nieco, więc jest łatwiej. Myślę, że na początku dzieje się coś nie tak, ponieważ myślę, że „s”. sites.id, aby zapisać rekord przez site_id z tabeli_st_stistics.

Z góry dziękuję!

Nacięcie

Odpowiedzi:

1 dla odpowiedzi № 1

Mam pracę. Problemem nie było samo zapytanie. Musiałem dodać pola drugiej tabeli (do jednej, do której się przyłączam) do modelu (exchangeArray) pierwszej tabeli! To załatwiło sprawę. Dziękuję wam wszystkim.