【发布时间】:2020-04-14 23:41:50
【问题描述】:
我有一个问题,而我得到的答案并没有真正帮助我。
所以我一直在尝试基本上为每个用户创建一个 Profiles 表。我遵循了一对一关系的规则,但我不断收到此错误
Illuminate\Database\QueryException : SQLSTATE[HY000]: 一般错误: 1364 Field 'user_id' doesn't have a default value (SQL: insert into
users(name,password,admin,updated_at,created_at) 值 (Darlington Okorie, darlingtonokoriec@gmail.com, $2y$10$Ob161LW8sbbv5uDv9VVbienlmW.DWXVDK3wdfC0I0NlnOrg1Jx/a2, 1, 2019-102-23: 2019-102-23: 23 17:41:30))
这是我在UsersTableSeeder 中写的代码
public function run()
{
$user = App\User::create([
'name' => 'Darlington Okorie',
'email' => 'darlingtonokoriec@gmail.com',
'password' => bcrypt('password'),
'admin' => 1
]);
App/Profile::create([
'user_id' => $user->id,
'avatar' => 'uploads/avatar/img.png',
'about' => 'Great at writing. Better at blogging',
'facebook' => 'facebook.com',
'youtube' => 'youtube.com'
]);
}
我还在我的create_users_table 中定义了user_id
public function up()
{
Schema::create('users', function (Blueprint $table) {
Schema::dropIfExists('users');
$table->bigIncrements('id');
$table->string('name');
$table->string('user_id');
$table->string('email')->unique();
$table->boolean('admin')->default(0);
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
并在我的create_profiles_table 中定义了user_id
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('avatar');
$table->integer('user_id');
$table->text('about');
$table->string('facebook');
$table->string('youtube');
$table->timestamps();
});
}
可能出了什么问题?
【问题讨论】:
-
App/Profile是错字还是复制/粘贴问题?应该是App\Profile(斜线方向错误)。 -
你能分享你的
User模型吗? -
刚刚注意到。将检查并确认。谢谢。