繁体   English   中英

数据未从视图传递到 laravel 中的 controller

[英]data is not passing from view to controller in laravel

当我单击delete按钮从 laravel 刀片数据表中删除数据时,它使用 url 传递数据,但在 controller 中它显示空数据。

laravel 刀片中的删除按钮

<button class="btn btn-outline-danger" data-toggle="modal" data-target="#destroyModal{{ $data->id }}">Delete</button>

删除模态

<div class="modal fade" id="destroyModal{{ $data->id }}" tabindex="-1" role="dialog" aria-labelledby="destroyModal{{ $data->id }}" aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">                                                        
            <div class="modal-body">
                <form action="{{ route('cat_wise_ingre_measurements.destroy', $data->id) }}" method="POST" class="signup_form row">                                        
                    @csrf
                    @method('DELETE')
                    <div class="form-group col-lg-12">
                        <p>Do you really want to delete Ingredient {{ $data->product_categories_name }}?</p> 
                    </div>    
                    <div class="form-group col-lg-12">
                        <button type="submit" class="btn btn-square btn-warning" data-dismiss="modal">Cancel</button>
                        <button type="submit" class="btn btn-square btn-danger">Delete</button>
                    </div>                    
                </form>                                
            </div>
        </div>
    </div>
</div>

web.php

Route::resource('cat_wise_ingre_measurements', 'CategoryWiseIngredientMeasurementController')->middleware('auth');

controller 销毁 function

public function destroy(CategoryWiseIngredientMeasurement $categoryWiseIngredientMeasurement)
    {
        return $categoryWiseIngredientMeasurement;
    }

作为return $categoryWiseIngredientMeasurement; 它返回空数据。

我找不到问题出在哪里? 有人帮忙吗?

由于您的资源称为cat_wise_ingre_measurements Laravel路线 model 绑定期望一个变量称为您的资源,但在单数。

在您的情况下 Laravel 期望$cat_wise_ingre_measurement$catWiseIngreMeasurement (两者都可以)

如果要将$categoryWiseIngredientMeasurement作为变量名,则需要指定 Laravel 应在资源上查找的变量名:

Route::resource('cat_wise_ingre_measurements', '')
//->parameters(['cat_wise_ingre_measurements' => 'categoryWiseIngredientMeasurement'])
->parameter('cat_wise_ingre_measurements','categoryWiseIngredientMeasurement')

注意: paramters() can be used when you have nested resources

这不是在 URL 参数中发送 $data->id 的正确方法,更好的方法是以表单发送隐藏输入
id}}" hidden> 您可以通过这种方式轻松地将数据发送到 controller 我 100% 确定这会起作用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM