laravel mysql数据库同一页面多表单提交表不更新
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel mysql数据库同一页面多表单提交表不更新相关的知识,希望对你有一定的参考价值。
我试图通过使用复选框更新数据库表,代码没有给出任何错误,但数据库表没有更新。我的刀片代码格式为:
<body>
<h2>Reported Posts </h2>
<a href="{{route('moderator.index')}}">Back</a>
<table>
@foreach($post_reports as $post_report)
<tr>
<td>Report NO:</td>
<td>{{$post_report->report_id }}</td>
<td>{{$post_report->status}}</td>
<form method="post">
@csrf
<td><input type="checkbox" name="statusyes[]" value={{$post_report->report_id }} >report to admin <input type="checkbox" name="statusno[]" value={{$post_report->report_id}} >wrong report </td>
</tr>
@endforeach
<td><input type="submit" name="submit" value="Submit" /></td>
</form>
</table>
我的控制器代码是:
我正在使用status_update_reported_post函数
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppPost_report;
use IlluminateSupportFacadesDB;
class moderatorController extends Controller
{
public function index(Request $request){
return view('moderator.index');
}
public function reported_post(Request $request){
$post_reports=DB::table('Post_reports')
->where('status','moderator')->get();
return view('moderator.reported_post')-> with('post_reports',$post_reports);
}
public function status_update_reported_post(Request $request){
$statusadmin[]=$request['statusyes'];
$statuswrong[]=$request['statusno'];
$r='admin';
$wr='wrong';
foreach($statusadmin as $report_id){
DB::table('post_reports')
->where('report_id','$report_id')
->update(['status' => 'admin']);
}
foreach($statuswrong as $report_id){
DB::table('post_reports')
->where('report_id','$report_id')
->update(['status' => 'wrong']);
}
}
}
代码工作正常,但表中没有更新,我不知道问题出在哪里,这对我来说似乎都很好。
答案
这条线
->where('report_id','$report_id')
应该
->where('report_id',$report_id)
单引号表示字符串$report_id
不是变量$report_id
的值
以上是关于laravel mysql数据库同一页面多表单提交表不更新的主要内容,如果未能解决你的问题,请参考以下文章