Yii2休息api额外的字段

时间:2017-10-18 08:10:01

标签: php rest api yii2

我使用extraFields函数将相关表中的字段包含到CallRates端点中。列出记录时,“rate_increase”按预期显示:

{
  ....
    "manually_updated": "no",
    "created": "2017-10-13 15:15:43",
    "rate_increase": "50.00"
},

但是,单独查看记录时,每次都会显示为空。有没有人有任何想法?我很难过。

为了获取该字段,我在控制器modelFind()中完成了以下操作:

$query = $model::find()
        ->leftJoin('reseller_config', 'reseller_rate.resellerref = reseller_config.resellerref')
        ->select('reseller_rate.*, reseller_config.rate_increase');

然后在模型中包括该字段:

public function fields()
{
    $fields = array_merge(parent::fields(), ['rate_increase']);

    return $fields;
}

1 个答案:

答案 0 :(得分:0)

要实施您尝试做的事情,我要做的是:

  1. 在reseller_rate表格中添加模型

    public function getResellerRate()
    {
      return $this->hasOne('reseller_config',['reseller_rate.resellerref'=> 'reseller_config.resellerref']);
    }
    
  2. 然后在字段功能:

    public function fields() { $fields = parent::fields(); $fields['rate_increate'] = $this->resellerRate->seller_rate; return $fields; }