Oggetti e relazioni
Company [1 -> N] CompanyCategory [N -> 1] Category
Nel ‘search’ di company devo poter cercare da una combo delle categorie.
Ho una relazione has_many in company
"companyCategoryObj" => array(self::HAS_MANY, "CompanyCategory", "companyId"),
nel metodo search
$criteria->with = array ( ... , 'companyCategoryObj');
....
$criteria->compare('companyCategoryObj.categoryId', $this->companyCategoryId);
Ma ho notato che nel SQL generato, questa tabella NON viene messa mai in join. Anzi, se provo a cercarlo mi da, giustamente, un errore SQL perchè effettuo un WHERE su una tabella che non compare nella catena dei FROM… JOIN …
Da cosa dipende ?
Aiuto…
Tenete conto che il fantomatico ‘together’ devo metterlo su ‘false’ perchè su ‘true’ non va più correttamente il paginatore… non so se c’entra.
HO MESSO UNA PEZZA TEMPORANEA MA MI FA VERAMENTE SCHIFO
if ($this->categoryId) {
$cat = CompanyCategory::model()->findAllByAttributes(array("categoryId" => $this->categoryId));
if (count($cat)) {
foreach ($cat as $cCat) {
$companyId[] = $cCat->companyId;
}
$criteria->addInCondition('companyId', $companyId);
}
}
Davvero non c’è modo di farlo fare ad Yii ?!?!