передача моделей в представление

Здравствуйте!

Уже час мучаюсь. Вообще не понимаю, что происходит…

В общем, есть такой код:

—PaymentController.php—

$payment=new Payment;

$advert=new Advert;

$client=new Client;

if(isset($_POST['Payment']) && isset($_POST['Content']) && isset($_POST['Client']))

{

$payment->attributes=$_POST['Payment'];


$advert->attributes=$_POST['Content'];


$client->attributes=$_POST['Client'];





$valid = $payment->validate();


$valid = $advert->validate() && $valid;


$valid = $client->valida() && $valid;





if($valid)


{			


	$payment->save(false);


	$advert->save(false);


	$client->save(false);


	$this->redirect(array('list'));


}

}

$this->render('create',array('payment'=>$payment,'advert'=>$adver,'client'=>$client));


До вызова render() по дебагу у меня все модели создаются… НО!..

При вызове print_r() (или var_dump(), не суть важно) внутри View create.php я вижу переданный только первый параметр (объект $payment), а другие два - null.

Что делать? (ну мне-то точно спать ложиться ;) )

$this->render('create',array('payment'=>$payment,'advert'=>$adver,'client'=>$client));

$adver или $advert ?

Попробуй еще

$advert->attributes

Если файлы представления были сгенерированы коммандой crud утилиты yiic, то конкретно create.php выглядит следующим образом:



...





<?php echo $this->renderPartial('_form', array(


	'payment'=>$payment,


	'update'=>false,


)); ?>


Отсюда следует что в _form в данном случае передается только $payment, вне зависимости от того, что написано в контроллере. Если модифицировать create.php должным образом, то проблема решится.

Скорее всего у вас этот случай.

Спасибо! Вот, что называется в час ночи писать код! Совсем про renderPartial  в create.php забыл и смотрел только на _form.php! Посыпаю свою голову пеплом!