Mam taki problem. 3 tabele.
-
Programy (TblPrograms)
-
Płatności (TblPayments)
-
tabela łącząca obie, jako że produkt może mieć wiele płątności(TblPaymentDict)
Relacje są takie:
Programy:
‘tblPayment’ => array(self::MANY_MANY, ‘TblPayment’, ‘tbl_payment_dict(id_program, id_payment)’),
Płatności:
‘programs’ => array(self::MANY_MANY, ‘TblPrograms’, ‘tbl_payment_dict(id_payment, id_program)’),
No i mam grida, gdzie dla danego programu, w kolumnie płatności mogą się pojawić więcej jak jedna opcja (stąd tabela łącząca). To działa. Nie działa natomiast filtrowanie.
array(
'name' => 'id_payment',
'filter'=>$model->getPaymentList(),
'value'=>'$data->getRelatedPayments()',
),
public function getPaymentList()
{
$categoryArray = CHtml::listData(TblPaymentDict::model()->findAll(), 'id_program', 'id_program');
return $categoryArray;
}
Nie wiem jak to ugryźć, jak powinno wyglądać zapytanie i czy w ogóle dobry kierunek obrałem