關於 attributes 的問題 [ 2.0 版本 ]
這邊是我 models 的 code
namespace app\models;
use Yii;
use app\models\Api;
class Order_api extends Api
{
public $account_id;
public $create_date;
public $auth_code;
public function rules()
{
return [
[['account_id','auth_code'], 'required']
];
}
public function check_params($standard ,$data)
{
return parent::check_params($standard ,$data);
}
}
這邊是 controller 的 code
public function actionTest()
{
$app_order = [
'account_id' => '1',
'create_date' => '2',
'auth_code' => '3'
];
$a = new \app\models\Order_api;
$a->attributes = $app_order; <====== 這邊為什麼我把 models 的 public rules() 整個function 移除
//$a->account_id = '1';
$a->attributes;
var_dump($a); <====== 這邊印出來的卻是 每個成員變數都是 NULL
}
有查看 yii\base\Models attributes() 內部的寫法 他也指示用 ReflectionClass 反映有哪些 public name 而已
想請教 $a->attributes = $app_order; 當我的 models 有 public rules(){ ... } 的時候
var_dump($a); 的成員變數是有被賦予值得,但我移除 public rules(){ ... }之後成員變數卻都是 NULL
想知道他流程是怎麼跑的為什麼只有 NULL 而沒有值 !!
剛剛沒有看 _set && _get 現在知道怎麼設定了~~~ 希望也可以分享您知道的流程給我參考
最佳答案
其他 0 个回答
没有找到数据。
bryson Taipei
注册时间:2015-07-22
最后登录:2017-04-03
在线时长:84小时54分
最后登录:2017-04-03
在线时长:84小时54分
- 粉丝19
- 金钱4885
- 威望230
- 积分8025