首页 > 解决方案 > 通过 Laravel 中的工厂在 mongo-db 中插入数组

问题描述

我想通过工厂和faker将链接图像插入到mongo-db的数组

我的工厂:

$factory->define(App\Feed::class, function (Faker $faker)use ($fakerIR) {
return [
    'title'=>$fakerIR->text(15),
    'context'=>$fakerIR->text(),
    'images'=>[$faker->imageUrl(), $faker->imageUrl(), $faker->imageUrl()],
    'expires_at' => $faker->dateTimeBetween('now', '+1 months', 'Asia/Tehran'),
    'writer_id' =>$faker->randomElement(\App\User::where('role','=','administrator')->get()->pluck('id')),
];
});

我也将图像投射到 Feed 模型中的数组中

protected $casts = [ 'images' => 'array ', 'users_seen'=>'array' ];

当我运行数据库种子工厂时,将数组列表作为字符串而不是数组插入 mongodb! 在此处输入图像描述

标签: phpmongodblaravel

解决方案


在此处输入图像描述在 mongodb 模型中不需要任何转换字段其他数据时间,它工作得很好。数组转换用于自动将数组转换为字符串以将 json 插入 sql 。


推荐阅读