Laravel 工厂用户 ID 始终为空
Laravel factory user id always null
当试图在工厂中获取随机用户 ID 时,尽管数据库包含 50
个用户(通过 User
工厂创建),它总是 returns null
.
'user_id' => User::all()->random()->id
我试图显示检索到的资源:
dd(User::all()->random())
结果和预期的很一致
App\User^ {#num
#fillable: array:9 []
...
#attributes: array:14 [
"id" => 25
...
]
}
但是另一种方法:
dd( User::all()->random()->id )
总是 returns null
.
请记住,使用该方法是将所有记录加载到内存中,然后随机选择一个以获取随机对象。
您可以改进直接从数据库中以随机顺序查询一条记录:
$randomUser = User::inRandomOrder()->first();
当试图在工厂中获取随机用户 ID 时,尽管数据库包含 50
个用户(通过 User
工厂创建),它总是 returns null
.
'user_id' => User::all()->random()->id
我试图显示检索到的资源:
dd(User::all()->random())
结果和预期的很一致
App\User^ {#num #fillable: array:9 [] ... #attributes: array:14 [ "id" => 25 ... ] }
但是另一种方法:
dd( User::all()->random()->id )
总是 returns null
.
请记住,使用该方法是将所有记录加载到内存中,然后随机选择一个以获取随机对象。
您可以改进直接从数据库中以随机顺序查询一条记录:
$randomUser = User::inRandomOrder()->first();