$withOption['categoryFilter']['params'][':id'] = array(4,1,7)

if i use $withOption[‘categoryFilter’][‘params’][’:id’] = array(4,1,7) it will only give me the posts with categoryId 4 instead of all the post with a categoryId 4, 1 and 7.

how to use the filter option so i can pass an array with values?

controller:




    public function relations() {

        return array(

            'rCity' => array(self::BELONGS_TO, 'City', 'CityId'),

            'categoryFilter' => array(self::MANY_MANY, 'Category', 'DaytripCategory(DaytripId, CategoryId)',

                'joinType' => 'INNER JOIN',

                'condition' => 'categoryFilter.IdCategory = :id',

            )

        );

    }



Finally i found a solution!

Model:




public function relations() {

    return array(

        'rCity' => array(self::BELONGS_TO, 'City', 'CityId'),

        'categoryFilter' => array(self::MANY_MANY, 'Category', 'DaytripCategory(DaytripId, CategoryId)',

            'joinType' => 'INNER JOIN',

            'condition' => 'categoryFilter.IdCategory IN ' . new CDbExpression('(:IdCategory)')

        ),

    );

}



Controller:




$withOption['categoryFilter']['params'][':IdCategory'] = implode(",", $_POST['Categories']); //3,1,6