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

Vrácení chybějících výsledků z tabulky many to many

Uvědomte si, že neznám Zend-Framework, takže to možná budete muset trochu přizpůsobit. Musíte však použít Brands jako primární/první tabulku, takže může nejprve získat všechny záznamy této tabulky a poté ji spárovat se zbytkem tabulek.

public function getUserBrands($userId) {
    $select = new Select();
    $select->from(array('b' => 'brands'));
    $select->join(array('bu' => $this->table), 'bu.brandId = b.id', array('id','name'),Select::JOIN_LEFT);
    $select->join(array('u' => 'users'), 'u.id = bu.userId', array('id','username'),Select::JOIN_LEFT);
    $where = new Where();
    $where->equalTo("bu.userId",$userId);
    $select->where($where);
    return $this->branduserTable->selectWith($select)->toArray();
}



  1. Chyba java.lang.ClassNotFoundException:com.mysql.jdbc.Driver při spouštění JAR přes příkazový řádek

  2. Členství sady SQLAlchemy pro velmi velké sady

  3. Funkce COSH() v Oracle

  4. Vraťte pouze číselné hodnoty ze sloupce databáze PostgreSQL