Laravel 8:如何在控制器中从模型对象获取数组形式数据
获取Laravel模型对象的数组形式数据
你已经通过路由模型绑定成功获取了Ability模型实例,要将其转为包含所有表字段的数组,有以下几种直接的方法:
- 使用
toArray()方法:这是Laravel Eloquent模型内置的方法,会将模型的所有可见属性(包括表字段、访问器生成的属性,若加载了关联也会包含)转为数组:
public function show(Ability $ability) { $abilityArray = $ability->toArray(); var_dump($abilityArray); }
- 若只需要数据库表的原始字段值(不需要访问器处理后的结果),可以使用
attributesToArray()方法,这最贴近你想要的「SELECT *」原始数据效果:
public function show(Ability $ability) { $rawDataArray = $ability->attributesToArray(); var_dump($rawDataArray); }
- 也可以直接强制类型转换为数组,但这种方式会包含模型的内部属性,需要自行过滤:
public function show(Ability $ability) { $abilityArray = (array)$ability; var_dump($abilityArray); }
内容的提问来源于stack exchange,提问作者asdflkadslkfadsfjasdadsfsad
相关产品推荐
相关产品推荐

