CActiveDataProvider relatioins table and conditions

Данный код выводит товары с моделями, но при поиске по


$_POST['Models']['id']

он выводит товар, а в поле модель, только одна модель по которой мы ищем.

Что нужно добавить в коде, чтоб он искал по конкретной модели, но выводил все модели к этому товару?


			$criteria=new CDbCriteria;

			if(isset($_POST['Models']['id'])) {

				$criteria->condition = 'models.id = :models';

				$criteria->params = array(':models'=>$_POST['Models']['id']);	

				$criteria->with = array('models'); 

				$criteria->together = true;       

			}

			$dataProvider=new CActiveDataProvider('Products'

				, array(

				    'criteria'=>$criteria

				)

			);


			$this->render('ajax',array(

				'dataProvider'=>$dataProvider,

			));

Спасибо!

Не понятен этот вопрос:

Если в $_POST[‘Models’][‘id’] содержится массив id-ников моделей, то нужно использовать $criteria->addInCondition()

Данный скрипт, если в $_POST[‘Models’][‘id’] веден ид 1 то он выведет все товары с моделью у которойо ид равен 1 и в описание товара будет указана только модель с ид 1, хотя у товара могут быть и другие модели.

Как сделать так чтоб выводились все товары у которых есть модель с ид 1 и в тоже время он загружал все модели связанные с этим товаром?

Приведите дамп модели "товаров" и модели "моделей товаров". Нужно посмотреть как они у вас связаны, чтобы дать рекомендацию как лучше всего достигнуть цели.