[英]Insert multiple rows using for loop laravel
SQLSTATE [42703]:未定义的列:7错误:关系“付款”的列“ 0”不存在\\ n第1行:插入“付款”(“ 0”,“ 1”,“ 2”,“ 3”, “ 4”,“ 5”,“ 6”,“ ... \\ n
$payments = [];
for ($x = 0; $x <= 12; $x++) {
$payments[] = new Payments([
'id' => Uuid::generate()->string,
'number_of_months' => $request->number_of_months,
'status' => $request->status,
'date_of_expire' => $request->date_of_expire,
'amount' => $request->amount,
'unpaid_amount' => $request->unpaid_amount,
'user_id' => $request->user_id,
'date_of_payment' => $date->addMonths(1),
]);
}
DB::table('payments')->insert($payments);
模型
public $incrementing = false;
protected $fillable = [
'id',
'number_of_months',
'date_of_payment',
'date_of_expire',
'amount',
'unpaid_amount',
'status',
'user_id',
'description'
];
当我尝试插入数据时出现此错误。 我不知道我在做什么错。
您为什么要尝试这样做? 您可以将其保存在for循环中。
for ($x = 0; $x <= 12; $x++) {
Payments::create([
'id' => Uuid::generate()->string,
'number_of_months' => $request->number_of_months,
'status' => $request->status,
'date_of_expire' => $request->date_of_expire,
'amount' => $request->amount,
'unpaid_amount' => $request->unpaid_amount,
'user_id' => $request->user_id,
'date_of_payment' => $date->addMonths(1),
]);
}
无需使用DB Facade即可插入数据库。 我猜您正在将payments
表用于Payments
模型。 如果不只是在您的Payments
模型中添加以下行
protected $table = 'payments';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.