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

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

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

  1. dump($user->hidden(['create_time','update_time'])->toArray());

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

  1. $user = User::find(1);

如果是数据集查询的话有两种情况,由于默认的数据集返回结果的类型是一个数组,因此无法调用toArray方法,必须先转成数据集对象然后再使用toArray方法,系统提供了一个collection助手函数实现数据集对象的转换,代码如下:

  1. $list = User::all();
  2. if($list) {
  3. }

如果设置了模型的数据集返回类型的话,则可以简化使用

然后就可以直接使用

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

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

模型的visiblehiddenappend方法支持关联属性操作,例如:

hiddenvisible和方法同样支持数据集对象。