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数据库同一页面多表单提交表不更新的主要内容,如果未能解决你的问题,请参考以下文章

在同一页面上提交表单时如何预填充下拉列表?

Laravel 表单提交到另一个页面

提交表单 Laravel 后重定向到不同的路由

提交表单数据后,页面未在 laravel 中正确加载

Laravel 4 - 表单提交以更新 MySQL 表

Laravel 4 - 同一页面上有多个表单?