php - 如何在 laravel DB 类中使用 create() 方法
问题描述
我想使用以下 SQL 而不是 eloquent 创建一个新行
我正在尝试的代码:
$create_transections = DB::table('package_plan_fees')
->create([
'paid_amount' => $post_data['total_amount'],
'enroll_able' => $post_data['enrollable'],
'user_id' => $post_data['user_id'],
'package_id' => $post_data['package_id'],
'plan_id' => $post_data['plan_id'],
'status' => $post_data['status']
]);
解决方案
您需要使用insert
而不是create
.
您可以从 Laravel 文档中检查插入语句。
您的代码需要是这样的:
$create_transections = DB::table('package_plan_fees')
->insert([
'paid_amount' => $post_data['total_amount'],
'enroll_able' => $post_data['enrollable'],
'user_id' => $post_data['user_id'],
'package_id' => $post_data['package_id'],
'plan_id' => $post_data['plan_id'],
'status' => $post_data['status']
]);
但是因为你说你想要插入行的 id,你可以使用Laravel 文档的Auto-Incrementing IDs部分中insertGetId
描述的方法。
$inserted_rows_id = DB::table('package_plan_fees')
->insertGetId([
'paid_amount' => $post_data['total_amount'],
'enroll_able' => $post_data['enrollable'],
'user_id' => $post_data['user_id'],
'package_id' => $post_data['package_id'],
'plan_id' => $post_data['plan_id'],
'status' => $post_data['status']
]);
推荐阅读
- java - 为什么单击超链接时 Web 应用程序会出错?
- google-cloud-platform - 将数据流 pubsub 中的流式传输速率调整为 bigquery 模板
- c# - 订阅 Func 事件后不会调用协程方法
- javascript - vuejs for 循环总是返回最后一个值
- amazon-web-services - 亚马逊 MWS 使用一个 Feed 将多个订单标记为已发货
- vim - vim停止在c ++中的注释内缩进冒号
- android - 隐藏一个行列表后,将面临按位置将不同颜色应用于列表行的问题
- javascript - 将javascript变量设置为php的输出时遇到问题
- java - 如何使用命令行在 Gradle 上运行空手道测试
- python - JSON POST 请求以 HTML 而非 JSON 形式返回响应