-1

在此处输入图像描述

大家好,

这个例子将帮助您如何使用 RESTful API 调用获取客户的产品详细信息,

4

1 回答 1

-1

您的 API 调用应如下所示:http: //127.0.0.1 :8080/api/web/customer?expand=orders,orderItems,products

class Customer extends \yii\db\ActiveRecord
{
/**
 * @inheritdoc
 */
public static function tableName()
{
    return 'customer';
}

/**
 * @inheritdoc
 */
public function rules()
{
    return [
        [['ID', 'Name'], 'required'],
        [['ID'], 'integer'],
        [['Name'], 'string'],
        [['PhoneNo'], 'string', 'max' => 45]
    ];
}

/**
 * @inheritdoc
 */
public function attributeLabels()
{
    return [
        'ID' => 'ID',
        'Name' => 'Name',
        'PhoneNo' => 'Phone No',
    ];
}

/**
 * @return \yii\db\ActiveQuery
 */
public function getOrders()
{
    return $this->hasMany(Order::className(), ['customer_id' => 'ID']);
}

public function getOrderItems()
{
    return $this->hasMany(Orderitem::className(),['Order_id' => 'ID'  ])

            ->via('orders');
        ;
}

public function getProducts()
{
   return  $this->hasMany( Product::className() , ['ID' => 'Product_ID' ] )
           ->via('orderItems') ; 

}

/**
 * @inheritdoc
 * @return CustomerQuery the active query used by this AR class.
 */
public static function find()
{
    return new CustomerQuery(get_called_class());
}

/**
 * @info: call : http://127.0.0.1:8080/api/web/customer?expand=orders for get customer and his orders also;
 * @return type
 */
public function extraFields() 
{
        return ['orders','orderItems','products']; 
}

}

在此处输入图像描述

于 2016-02-17T05:02:41.613 回答