Страница 1 из 1

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

Добавлено: 2015.01.31, 18:13
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". хотя причем здесь продукт если он связан с другой моделью?

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

Добавлено: 2015.01.31, 20:53
modelfak
Вопрос закрыт, решил проблему!

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

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

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

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