yii2 fields返回关联数据,能否根据不同的场景,使得model携带不同的数据返回?
例如:
public function fields(){
$fields = parent::fields();
if($this->scenario == self::SCENARIO_INDEX){
array_push($fields,'lectures');
}else{
array_push($fields,'lectures','course');
}
return $fields;
}
但是现在问题在于,关联数据,比如lectures,如何进一步指定呢?
有的 利用 toArray($fields, $expand, $recursive )
的 $expand
, 跟model的 extraFields method
Model 部分
Controller 部分
這方法可以第一眼在 controller 的 action 知道會回傳內容甚麼值
這樣也可以 分 原table屬性以及新加的屬性
這樣是你要的?
如果是 從資料表撈出大筆數據, 昨天發現一個方法你也可以參考看看selecting-extra-fields
http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#selecting-extra-fields