我在将数据插入数据库表时遇到问题。我有用户表
,它与学校表
和地区表
具有一对多的关系。也就是说,users 表
具有school 和region 表
的外键
。
我已经正确创建了关系,但是当我尝试将值插入数据库时,出现错误。
PS:我在用户表中已经有一个用户(管理员)(学校ID和地区ID已准确插入),我已经通过RegisterController保存了该用户。现在,当我使用已保存的用户(管理员)登录时,我想通过 UserController 保存其他用户,但随后出现上述错误。
我哪里做得不对?我只是数据库关系和laravel的初学者
General error: 1364 Field 'school_id' and `region_id`doesn't have a default value
表示该字段不能为空。
用户 Controller
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();
}
最佳答案
您的问题有三种解决方案。
1
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'),
'school_id'=>'you must pass value here',
'region_id'=>'you must pass value here'
));
$user->save();
}
2 进入 phpmyadmin 将 school_id,region_id 默认值设为 NULL。现在就可以开始了。
关于php - 数据库关系 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46745233/