在Laravel中,如何从“用户”表中检索随机的user_id以进行模型工厂种子数据生成?

西蒙·苏(Simon Suh)

当前,在我的ModelFactory.php中,我有:

$factory->define(App\Reply::class, function (Faker\Generator $faker) {
  return [
    'thread_id' => 1,
    'user_id' => 1,
    'body' => $faker->paragraph
  ];
});

我想从已经存储在用户表中的用户ID之一生成一个随机的user_id。我很沮丧,因为我不知道如何正确显示数据输出以进行编码,而且我想知道如何允许Laravel选择随机用户ID并将其插入数据库。谢谢!:)

耻辱

请尝试以下。

use App\User; // Assuming this is your User Model class with namespace.

$factory->define(App\Reply::class, function (Faker\Generator $faker) {
  return [
    'thread_id' => 1,
    'user_id' => User::all()->random()->user_id,
    'body' => $faker->paragraph
  ];
});

请记住,这将从表中获取所有用户数据,然后随机选择一个ID。因此,如果您的表中有大量数据,则不建议这样做。相反,在测试用例中,您可以创建一个新用户(通过其自己的工厂),并将ID分配给从上述工厂生成的Reply对象。

或者,您可以在上述工厂定义中查询特定用户。

'user_id' => User::where('username', 'like', '[email protected]')->get()->random()->user_id

如果您在数据库中设置了测试用户,这将避免提取所有用户数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 javaer101[email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从laravel中的user_id检索用户名?

如何通过使用具有关系的另一个表中的数据(user_id)从用户表中检索用户名

在活动网站中检索外部种子数据的最佳方法

asp.net核心2中的种子数据库用户和角色表

种子数据进行测试

如何在 user_id 用作外键的表中获取用户名

滑轨。如何从投票表中获取统计信息列,其中user_id =当前用户

如何从扩展用户模型中检索数据

FactoryGirl + Faker-为db种子数据中的每个对象生成相同的数据

如何更改 Fortran 随机模拟器代码中的种子数

如何使用golang在mongodb中对具有相同user_id的收集数据进行$ group?

现有数据库中的Laravel种子数据库

Laravel 6+中具有固定数据集的种子数据库

如何从数据库中获取登录用户 user_id 并将其插入另一个表?

EF 2.1 中的种子数据与相关实体

在烧瓶迁移或自发迁移中创建种子数据

如何将参数传递给数据库种子中的laravel工厂?

如何使用用户指定的种子在elm 0.17中使用随机生成器?

如何在Laravel 5.6中使用车辆user_id打印用户电子邮件

如何在Django Serializer中按用户ID检索所有模型数据?

Laravel模型:: all(); 无法从表中检索数据

laravel模型工厂现有种子生成

使用工厂为数据库植入种子时,使用Laravel中的PHP Faker生成“唯一的”条目

在Django中,您是否可以在不始终生成迁移的情况下运行种子数据?

尝试使用user_id Laravel从用户模型获取用户名

在 CakePHP 中显示用户名而不是 user_id

如何从JTable单元中检索数据而不是从表模型中检索数据?

根据 Laravel 数据库中的 user_id 获取城市值

如何通过user_id将用户移动到组中