在Laravel中切换活动/非活动状态

uubf1zoe  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(110)

我想在laravel中使用toggle更新active和inactive状态。状态显示完美。但控制器不工作。这是我的代码。

刀片文件

@foreach($data as $srial => $row)

      <tr>
        <td>{{$row->name}}</td>

        <td>

          <input data-id="{{$row->id}}" class="toggle-class" type="checkbox" data-onstyle="success" data-offstyle="danger" data-toggle="toggle" data-on="Active" data-off="InActive" {{ $row->status ? 'checked' : '' }}>
                    
</td>
      </tr>
      
      @endforeach
<script>

  $(document).ready(function(){
    $('.toggle-class').change(function () {
        let status = $(this).prop('checked') === true ? 1 : 0;
        let userId = $(this).data('id');
        $.ajax({
            type: "GET",
            dataType: "json",
            url: '{{ route('/changeStatus') }}',
            data: {'status': status, 'user_id': userId},
            success: function (data) {
                console.log(data.message);
            }
        });
    });
});
</script>

控制器

public function changeUserStatus(Request $request)
    {
        $file=DB::table('students')->where('id',$id)->first();
        $user=$file->status;
        $task ['status']= $request->user_id;
 
    $data=DB::table('students')->where('id',$request)->update($task);
    }

路线

Route::get('/changeStatus', 'AdminController@ChangeUserStatus')->name('/changeStatus');
kq4fsx7k

kq4fsx7k1#

尝试以下查询:

public function changeUserStatus(Request $request)
{
    DB::table('students')->where('id', $request->user_id)->update(['status' => $request->status]);
}

如果条件错误,需要在更新中传递用户ID和状态。
因此,必须将

$(document).ready(function(){
    $('.toggle-class').change(function () {
        let status = $(this).prop('checked') === true ? 1 : 0;
        let userId = $(this).data('id');
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "{{ route('/changeStatus') }}",
            data: {'status': status, 'user_id': userId},
            success: function (data) {
                console.log(data.message);
            }
        });
    });
});

路由必须为过帐类型

Route::post('/changeStatus', 'AdminController@ChangeUserStatus')->name('/changeStatus');

相关问题