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   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 09 July 2013 - 01:12 PM

Всем добрый вечер. Есть 2 модели - Order и OrderItems и соотвественно две таблицы - order и order_items
Вопрос - как записать данные в таблицу order_items находясь в модели Order ?

Пытаюсь так:
//Код контроллера Order
if(isset($_POST['order_done'])){
			$order = new Order;
			$order->user_id = Yii::app()->user->id;
			
			$order_items = new OrderItems;
			$order->save();
			
		}

protected function afterSave(){
        parent::afterSave();
 
        $Cart = new Shopping_Cart('shopping_cart');	
                        $i=0;
		foreach ( $Cart->getItems() as $order_code=>$quantity ){
			$order_items->order_id = $this->id;
			$order_items->product_id = $order_code;
			$order_items->save(); // Ничего не сохраняется :(
                    }
        }



И связь в модели Order:
public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
		'OrderItems' => array(self::HAS_MANY, 'OrderItems', 'id'),
		);
	}


Как не пытался, пишется только таблица order, а order_items так и пустует :(
0

#2 User is offline   kraut 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 17-June 11
  • Location:Moscow

Posted 09 July 2013 - 01:20 PM

Архитектурно правильнее, не загромождать модели.

Я бы посоветовал сделать отдельный компонент, который будет это делать.

Ведь вполне возможно что уже созданный заказ необходимо будет скорректировать. При каждом пересохранении заказа, пересохранять товарный состав нет смысла.

А не сохраняется возможно из-за правил ( rules ) модели OrderItems.
1

#3 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 09 July 2013 - 01:30 PM

View Postkraut, on 09 July 2013 - 01:20 PM, said:

Архитектурно правильнее, не загромождать модели.

Я бы посоветовал сделать отдельный компонент, который будет это делать.

Ведь вполне возможно что уже созданный заказ необходимо будет скорректировать. При каждом пересохранении заказа, пересохранять товарный состав нет смысла.

А не сохраняется возможно из-за правил ( rules ) модели OrderItems.


Спасибо, но думаю дело здесь явно не в rules, где-то чего-то не так, только что не пойму :-[
0

#4 User is offline   melomaniac 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 182
  • Joined: 14-January 13

Posted 09 July 2013 - 02:03 PM

Всем спасибо, разобрался :)
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