php处理三维数组插入数据库,php-在laravel中将数组值插入数据库

在尝试将多个问题及其答案批量插入到'en_answers'表时,遇到了两个主要问题:1) 只插入了一行数据;2) 问题ID插入不正确。代码中使用了两个嵌套的foreach循环来遍历问题和答案,但存储操作可能只针对最后一个循环的值。解决方案可能涉及重新组织插入逻辑,确保所有数据正确地与'user_id'关联并一次性插入数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有8个不同的问题,这些问题来自数据库.现在,我想将question_id,user_id和en_answer插入“ en_answers”表.已插入数据,但是这里有一些错误,例如-第一个是,它仅插入一个行值,第二个是,问题ID不正确.我尝试了类似波纹管的方法.有人请帮助纠正控制器方法-

在index.blade.php中

{{ csrf_field() }}

$count=1;

;?>

@foreach($equestions as $equestionType)

@foreach($equestionType as $key => $equestion)

{{ $equestion->question }}

{{ $equestion->option1 }}

{{ $equestion->option2 }}


@endforeach

@endforeach

Submit

在我的控制器中

public function store(Request $request, User $user){

$user_id = Sentinel::getUser()->id;

$answer = new EnAnswer;

$answer->user_id = $user_id;

$data = Input::get();

for($i = 1; $i < count($data['en_answer']); $i++) {

$answer->en_answer = $data['en_answer'][$i];

}

for($i = 1; $i < count($data['question_id']); $i++) {

$answer->question_id = $data['question_id'][$i];

}

//dd($answer);

//return $answer;

$answer->save();

return redirect('submitted')->with('status', 'Your answers successfully submitted');

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值