> ThinkPHP5手册 > 数组访问和转换

数组访问和转换


数组访问

版本 新增功能
5.0.4 增加appendRelationAttr方法追加关联模型的属性

模型对象支持数组方式访问,例如:

$user = User::find(1);
echo $user->name ; // 有效
echo $user['name'] // 同样有效
$user->name = 'thinkphp'; // 有效
$user['name'] = 'thinkphp'; // 同样有效
$user->save();

转换为数组

可以使用toArray方法将当前的模型实例输出为数组,例如:

$user = User::find(1);
dump($user->toArray());

支持设置不输出的字段属性:

$user = User::find(1);
dump($user->hidden(['create_time','update_time'])->toArray());

数组输出的字段值会经过获取器的处理,也可以支持追加其它获取器定义(不在数据表字段列表中)的字段,例如:

$user = User::find(1);
dump($user->append(['status_text'])->toArray());

支持设置允许输出的属性,例如:

$user = User::find(1);
dump($user->visible(['id','name','email'])->toArray());

追加关联模型的属性(V5.0.4+)

V5.0.4+版本开始,支持追加一对一关联模型的属性到当前模型,例如:

$user = User::find(1);
dump($user->appendRelationAttr('profile',['email','nickname'])->toArray());

profile是关联定义方法名,emailnicknameProfile模型的属性。


上一篇:
下一篇: