麦麦提

麦麦提

这家伙有点懒,还没写个性签名!

  • 财富值15
  • 威望值0
  • 总积分65

个人信息

  • 回复了 的回答

    有的 利用 toArray($fields, $expand, $recursive )$expand , 跟model的 extraFields method

    Model 部分

    public function extraFields(){
        return [
            'lectures' => function(){
                return $this->name . ' ' . $this->name;
            },
            'course' => 'xxx'
        ];
     }
    

    Controller 部分

    public actionXxx(){
    
        $model->attributes = $data;  //$data == 數據
        if($model->scenario == self::SCENARIO_INDEX){
            $model->toArray([],['lectures']);
        }else{
            $model->toArray([],['lectures','course']);
        }
    }
    

    這方法可以第一眼在 controller 的 action 知道會回傳內容甚麼值
    這樣也可以區分 原table屬性以及新加的屬性

    thanks, it is a good solution.

  • 赞了回答

    有的 利用 toArray($fields, $expand, $recursive )$expand , 跟model的 extraFields method

    Model 部分

    public function extraFields(){
        return [
            'lectures' => function(){
                return $this->name . ' ' . $this->name;
            },
            'course' => 'xxx'
        ];
     }
    

    Controller 部分

    public actionXxx(){
    
        $model->attributes = $data;  //$data == 數據
        if($model->scenario == self::SCENARIO_INDEX){
            $model->toArray([],['lectures']);
        }else{
            $model->toArray([],['lectures','course']);
        }
    }
    

    這方法可以第一眼在 controller 的 action 知道會回傳內容甚麼值
    這樣也可以區分 原table屬性以及新加的屬性

  • 回复了 的回答

    如果是 從資料表撈出大筆數據, 昨天發現一個方法你也可以參考看看
    selecting-extra-fields
    http://www.yiiframework.com/doc-2.0/guide-db-active-record.html#selecting-extra-fields

    thanks,but maybe it don't work.

  • ---php

    public function behaviors()
    {
    	$behaviors = parent::behaviors();
    	$behaviors['contentNegotiator']['formats'] = ['application/json' => Response::FORMAT_JSON];
    	
    	return $behaviors;
    }
    
职场新人 等级规则
65/100
资料完整度
10/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

1