Php 数据库关系-Laravel
我在将数据插入数据库表时遇到问题。我有Php 数据库关系-Laravel,php,mysql,database,laravel,Php,Mysql,Database,Laravel,我在将数据插入数据库表时遇到问题。我有用户表,它与学校表和地区表有一对多的关系。也就是说,users表具有学校和地区表的外键 我已经正确地创建了关系,但是当我尝试向数据库中插入值时,我得到了错误 PS:我在用户表中已经有一个用户(admins)(准确插入了学校id和地区id),我通过RegisterController保存了该用户表。现在,当我使用已经保存的用户(admin)登录时,我想通过UserController保存其他用户,但是我得到了上面的错误 我在做什么不对?。我只是一个数据库关系和
用户表
,它与学校表
和地区表
有一对多的关系。也就是说,users表
具有学校和地区表的外键
我已经正确地创建了关系,但是当我尝试向数据库中插入值时,我得到了错误
PS:我在用户表中已经有一个用户(admins)(准确插入了学校id和地区id),我通过RegisterController保存了该用户表。现在,当我使用已经保存的用户(admin)登录时,我想通过UserController保存其他用户,但是我得到了上面的错误
我在做什么不对?。我只是一个数据库关系和laravel的初学者
General error: 1364 Field 'school_id' and `region_id`doesn't have a default value
表示该字段不能为空
UserController
public function store(UserFormRequest $request)
{
$user = new User(array(
'name' => $request->get('name'),
'email' => $request->get('email'),
'password'=> $request->get('password'),
'phone' => $request->get('phone')
));
$user->save();
}
MySQL告诉您这些字段不能为空,因为它们不能为空
要在用户迁移中使这些字段null()
,请执行以下操作:
// Your create users table migration
$table->integer('school_id')->nullable();
$table->integer('region_id')->nullable();
(您可以向这些字段添加任何其他属性,如index()
,unsigned()
,或外键等)。MySQL告诉您,这些字段不能为空,因为它们不能为空
要在用户迁移中使这些字段null()
,请执行以下操作:
// Your create users table migration
$table->integer('school_id')->nullable();
$table->integer('region_id')->nullable();
(您可以向这些属性添加任何其他属性,如index()
,unsigned()
,或外键等)。有三种解决方案
一,
2转到phpmyadmin使您的学校id、地区id默认值为空。所以你可以走了。解决你的问题有三种方法
一,
2转到phpmyadmin使您的学校id、地区id默认值为空。所以你可以走了