Как сделать двойную связь моделей

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
modelfak
Сообщения: 12
Зарегистрирован: 2015.01.19, 10:44

Как сделать двойную связь моделей

Сообщение modelfak »

Вот код юзера к заказам

Код: Выделить всё


    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(
            'orders'=>array(self::HAS_MANY, 'Order', 'user_id'),
            //'PrOr'=>array(self::BELONGS_TO, 'OrderProduct', 'order_id'),
        );
    }
 
ВОт код заказа и его связь с множеством продуктов заказа

Код: Выделить всё

    
        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(
        
        'PrOr'=>array(self::HAS_MANY, 'OrderProduct', 'order_id'),
        
        );
        
    }

 
ВОт код связи продуктов заказа ( product_id ) с самими продуктами

Код: Выделить всё

        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(
        'product'=>array(self::BELONGS_TO, 'Product', 'product_id'),
        //'PrOr'=>array(self::BELONGS_TO, 'Order', 'order_id'),
        );
    }
 


В итоге мне нужно сделать двойной цикл для вывода всех связей

Код: Выделить всё

     foreach($model->orders as $key=>$order) {
            ////  .... вывод номера заказа
        foreach($order->PrOr as $PrOr){
            ///// ..... продукты заказа (получаем через связь 'product'=>array(self::BELONGS_TO, 'Product', 'product_id'), )
            
            echo $PrOr->product->name;
        }
}
 
В итоге получаю ошибку Не определено свойство "Order.product". хотя причем здесь продукт если он связан с другой моделью?
modelfak
Сообщения: 12
Зарегистрирован: 2015.01.19, 10:44

Re: Как сделать двойную связь моделей

Сообщение modelfak »

Вопрос закрыт, решил проблему!
Аватара пользователя
Kilimangaro
Сообщения: 27
Зарегистрирован: 2013.02.04, 19:17
Откуда: Украина, Днепропетровск

Re: Как сделать двойную связь моделей

Сообщение Kilimangaro »

Мне интересно, это принципиальная позиция, не при каких обстоятельствах, не описывать решение проблемы? Из-за таких вот "Можно закрывать, я решил проблему" рунет не кладезь знаний, а помойка.
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Как сделать двойную связь моделей

Сообщение jakiro »

Kilimangaro писал(а):Мне интересно, это принципиальная позиция, не при каких обстоятельствах, не описывать решение проблемы? Из-за таких вот "Можно закрывать, я решил проблему" рунет не кладезь знаний, а помойка.
Для российского интернта это норма)
Ответить