Yii Framework Forum: передача моделей в представление - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

передача моделей в представление Rate Topic: -----

#1 User is offline   Sergey Kuznetsov 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 93
  • Joined: 16-February 09
  • Location:Russia, Saratov

Posted 16 March 2009 - 05:30 PM

Здравствуйте!
Уже час мучаюсь. Вообще не понимаю, что происходит...
В общем, есть такой код:
---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.
Что делать? (ну мне-то точно спать ложиться ;) )
0

#2 User is offline   rosko 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 211
  • Joined: 04-January 09
  • Location:Kiev, Ukraine

Posted 16 March 2009 - 06:07 PM

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

$adver или $advert ?
0

#3 User is offline   rosko 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 211
  • Joined: 04-January 09
  • Location:Kiev, Ukraine

Posted 16 March 2009 - 06:09 PM

Попробуй еще
$advert->attributes
0

#4 User is offline   creocoder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 199
  • Joined: 09-March 09
  • Location:*.php

Posted 16 March 2009 - 09:04 PM

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

...

<?php echo $this->renderPartial('_form', array(
'payment'=>$payment,
'update'=>false,
)); ?>


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

#5 User is offline   Sergey Kuznetsov 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 93
  • Joined: 16-February 09
  • Location:Russia, Saratov

Posted 17 March 2009 - 01:28 AM

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

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users