sql >> Database >  >> RDS >> Mysql

LEFT JOIN in ZF2 met behulp van TableGateway

Toevoegen aan @samsonasik's antwoord en de problemen aanpakken in zijn opmerkingen. U kunt de samengevoegde waarden niet halen uit wat wordt geretourneerd uit die instructie. Die instructie retourneert het modelobject dat de samengevoegde rijen niet heeft. U moet het als SQL uitvoeren op een niveau dat het als onbewerkte SQL voorbereidt en u elke resulterende rij als een array teruggeeft in plaats van als een object:

$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. Selecteer punten uit de kaartdatabase volgens straal

  2. efficiënte manier om paging te implementeren

  3. geef javascript-variabele door aan php mysql select query

  4. Methode niet gevonden in klasse