-1

ここに画像の説明を入力

こんにちは、みんな、

この例は、安らかな 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 に答える