首页 > 解决方案 > 我们可以使用 db builder laravel 创建一个表对象以进行插入查询吗?

问题描述

我想创建一个像这样的对象这可能吗

$con = DB::table('table');
$con->first_name = $request->first_name;
$con->last_name = $request->last_name;
$con->email = $request->email;
$con->mobile_no = $request->mobile_no;
$con->created_at = new \DateTime();
$con->updated_at = new \DateTime();
$con->save();

当我运行这段代码时,它给了我这个

Call to undefined method Illuminate\Database\Query\Builder::save()

标签: phplaravel

解决方案


当您这样做DB::table()时,它将返回一个查询构建器实例。这可以链接诸如insert(),update()delete()- 之类的方法,但您不能附加您打算稍后保存的属性。

我建议您使用DB::table('table')->insert()并传入一个数组。only()您可以在请求中使用帮助程序来简化它。

$data = $request->only('first_name', 'last_name', 'email', 'mobile_no');
$data['created_at'] = \now();
$data['updated_at '] = \now();
DB::table('table')->insert($data);

推荐阅读