在播种器文件里面我尝试获取用户模型的第一条记录。 但是我似乎无法找到正确的方法。
我想获取第一个用户,并获取其ID以在user_id
(外键)中使用它。
这不起作用:
class TerminalsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$user = User::findOrFail(1)->first();
DB::table('terminals')->delete();
Terminal::create([
'serial' => 'R-123-548-753',
'state' => 1,
'user_id' => $user->id
]);
}
}
失败是因为我说“1”,但它需要一个参数,我在用户的第一行没有id为1,但我不想对此进行硬编码。
答案 0 :(得分:1)
简单的解决方案是使用 firstOrFail
$user = User::firstOrFail(); //it will return the first record from the top
Terminal::create([
'serial' => 'R-123-548-753',
'state' => 1,
'user_id' => $user->id'
])
答案 1 :(得分:0)
您必须先检查找到的第一个用户
$user = User::first(); // returns the first record found in the database. If no matching model exist, it returns null
if($user)
Terminal::create([
'serial' => 'R-123-548-753',
'state' => 1,
'user_id' => $user->id
]);
}
如果用户找到,那么它将在终端中创建新记录。