【问题标题】:laravel mysql database same page multiple form submission table not updatinglaravel mysql数据库同一页面多个表单提交表未更新
【发布时间】:2019-05-01 22:14:20
【问题描述】:

我正在尝试使用复选框更新数据库表,代码没有给出任何错误,但数据库表没有更新。表单所在的刀片代码:

<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 App\Http\Controllers;

use Illuminate\Http\Request;
use App\Post_report;
use Illuminate\Support\Facades\DB;


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']);

   }
}


}

代码工作正常,但表中没有更新,我不知道问题出在哪里,对我来说一切都很好。

【问题讨论】:

    标签: php mysql forms laravel-5 checkbox


    【解决方案1】:

    这一行

    ->where('report_id','$report_id')
    

    应该是

    ->where('report_id',$report_id)
    

    带单引号的意思是字符串$report_id不是变量$report_id的值

    【讨论】:

    • 这是我的一个非常愚蠢的错误,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多