我在Laravel5.3中遇到了一个问题,我查看了文档,也搜索了web,但没有找到任何内容
我使用Laravel关系连接两个表。现在,我希望在用户提交表单后同时将数据插入两个表中。第一个表是主表,称为“users”,第二个表是第一个表的“xyz”。表“xyz”包含连接两个表的“users\u id”列。显然,“users\u id”是“users”表的“id”列
现在出现的问题是,我想同时在“users”表(这很容易做到)和“xyz”表中插入数据。User::create()函数将轻松创建用户数据,它也在工作,但要在“xyz”表中插入数据,我将需要“User_id”列数据,并且在创建用户之前不会生成id,因为id列已激活自动递增属性
代码:
$user=新用户;
$inputArry=array('data1'=>;$request['field1'],
'data2'=>;$request['field2'],
'data3'=>;$request['field3'],
);
$user->;创建($inputArry);
$user->;xyz()->;创造([
“用户id”=>;$user->;id,
'name'=>;$request['name'],
'about'=>;$request['desc'],
'tag'=>;$request['tag'],
]);
上面是我用于此目的的代码,但它给了我一个错误
错误:
Connection.php第761行中的查询异常:
SQLSTATE[23000]:完整性约束冲突:1048列’soft_id’不能为null(SQL:insert-into’xyz`(’user_id`、’name`、’about`、’tag`、’updated_at`、’created_at`)值(,John,我是John,dev,2016-11-09 21:01:292016-11-09 21:01:29))
插入相关表的一种方法是将关系用作:
$user=user::create($user\u输入);
$xyz=$user->;xyz()->;创建($xyz_输入);
它将自动填充xyz表中的user\u id