laravel - 如何将 laravel 模型工厂创建方法返回的对象转换为包含模型字段的数组?
问题描述
例如,我有一个UserFactory.php
<?php
use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;
$factory->define(User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'role' => 'USER',
'password' => 'sasdcsdf34', // password
'remember_token' => Str::random(10),
];
});
现在,我可以创建一个用户如下
$user = factory(User::class)->create();
现在,如何将此$user
对象转换为包含用户信息(如姓名、电子邮件等)的数组,而无需初始化新数组并手动分配每个$user
对象属性。??
我不想像下面这样手动分配,因为如果$user
对象中有很多属性会很乏味
$userArray=[
'id' => $user->id,
'name' => $user->name,
'email' => $user->email
]
我已经尝试过了,但是它创建了包含各种其他属性的数组,并且需要的实际值嵌套在属性中
$userArray=array($user)
解决方案
您应该尝试使用工厂的原始方法而不是创建。
$user = factory(User::class)->raw();
这应该为您提供一个可以使用的数组。
推荐阅读
- python - 使用自己的词典进行情绪分析
- python - SQL Server 或 Pandas 排名/按分区编号窗口函数
- java - 摇篮 4 Java 11
- python - OpenCV+CUDA 同时与 Python 和 Python C 扩展链接
- reactjs - 在一个视频播放中播放多个 .m3u8 播放列表
- mysql - 更改 MySQL 中的日期格式,上传格式错误
- reactjs - 为什么`create-react-app`命令创建的文件夹占用的外置硬盘空间如此之大?
- neo4j - neo4j全文搜索获取包含关键字的属性
- json - json 语法错误,期望 'EOF'、'}'、','、']',得到 '未定义'
- javascript - 我可以使用 getServerSideProps 中的服务器端道具来初始化 NextJS 中的动态状态吗?