来自gridview yii2中一列中的两个函数的数据

时间:2017-01-03 15:00:25

标签: yii2

在模型中有两个功能 public function getItemsOrder(){ return $this->hasMany(OrderItems::className(), ['order_id' => 'order_id']); }

public function getOrderInfo(){
    return $this->hasMany(OrderItemsOffer::className(), ['order_items_id' => 'order_items_id'])
        ->viaTable('order_items', ['order_id' => 'order_id']);
}`

orderorder_id,表order_itemsorder_idorder_items_id,表order_items_offerorder_items_id和{{ 1}}。一个order_items_offer_name可以包含多个order_id。表格order_items_id也有order_items。 我可以通过第一个函数获得order_items_quantity的数量。以及具有第二功能的所有order_items的名称,如此

order_items

我怎样才能将这些数据放在一列中,比如'FirstItem 2 piece,SecondItem 3 piece'?

1 个答案:

答案 0 :(得分:0)

也许有人帮忙,在OrderItems中创建

public function getOrderInfo(){
    return $this->hasOne(OrderItemsOffer::className(), ['order_items_id' => 'order_items_id']);
}

在视图中

[
            'value' => function ($data) {
                $summ = 0;
                $str = '';
                foreach($data->itemsOrder as $request) {
                    $summ = $request->order_items_quantity;
                    $str .=  (strlen($str))?', ': '';
                    $str .=  $request->orderInfo->order_items_offer_name.' '.$summ.'шт.';
                }

                return $str;
            },
        ],
相关问题