sql >> Databáze >  >> RDS >> Mysql

LEFT JOIN v ZF2 pomocí TableGateway

Přidání k odpovědi @samsonasik a řešení problémů v jejích komentářích. Nebudete moci získat spojené hodnoty z toho, co je vráceno z tohoto příkazu. Tento příkaz vrátí objekt modelu, který nebude mít spojené řádky. Budete jej muset spustit jako SQL na úrovni, která jej připraví jako nezpracovaný SQL a vrátí vám každý výsledný řádek jako pole, nikoli jako objekt:

$sqlSelect = $this->tableGateway->getSql()->select();
$sqlSelect->columns(array('column_name_yourtable'));
$sqlSelect->join('othertable', 'othertable.id = yourtable.id', array('column_name_othertable'), 'left');

$statement = $this->tableGateway->getSql()->prepareStatementForSqlObject($sqlSelect);
$resultSet = $statement->execute();
return $resultSet;

//then in your controller or view:

foreach($resultSet as $row){
    print_r($row['column_name_yourtable']);
    print_r($row['column_name_othertable']);
}


  1. není povoleno vrátit sadu výsledků ze spouštěče mysql

  2. Mysql se nespustí - ibdata1 je poškozen? - chyba operačního systému číslo 13 - problém s oprávněními

  3. Vyberte uživatele pouze z jedné tabulky, pokud ne z jiné

  4. Jak vytvořit soubor pro zařazování skriptů Oracle SQL