为了账号安全,请及时绑定邮箱和手机立即绑定

无法从 Laravel 中的下拉列表中保存表列值

无法从 Laravel 中的下拉列表中保存表列值

PHP
动漫人物 2023-10-21 10:34:40
我正在使用 Laravel 7 和 PHP 7.4。我正在尝试使用 ajax 在我的表单中创建一个依赖下拉列表。我正在将ajax 响应中的column_id和列发送到我的下拉列表。我的下拉菜单工作得很好,但我的数据库查询或 ajax 响应出现混乱。我的下拉列表显示列的值,但是当我尝试保存到数据库中时,它只保存列的“Id”而不是值。我只想将column_id和列都发送到我的下拉列表,但仅将值保存到数据库中。刀刃<form action="{{route('form_for_private_sellers')}}>    <div class="form-group">      <select name="make" id="make" data-dependent="model">       <option value="">Select Make</option>       <option value="254">Abarth</option>      </select>    </div>        <div class="form-group">     <select name="model" id="model">       <option selected value="">Select Model*</option>      </select>    </div></form>JavaScript$("#make").change(function(){    var id=$(this).val();    var make_id = id;    var dependent = $(this).data('dependent');    var _token = $('input[name="_token"]').val();    $.ajax({        url:"{{ route('fetchModel') }}",        method:"POST",        data:{make_id:make_id, _token:_token,dependent:dependent},        success:function(result)        {            $('#'+dependent).html(result);        }    });});控制器public function fetchModel(Request $request){    $get_make_id = $request->get('make_id');    $dependent = $request->get('dependent');    $fetch_model = DB::table('auto_databases_one')        ->select('model','model_id')        ->distinct()        ->where('make_id', '=', $get_make_id)        ->where(function ($query) {            $query->orWhere('is_active', '=', '1');        })        ->orderBy('model', 'ASC')        ->get();    $show_model = '<option value="">Select ' . ucfirst(dependent) . '</option>';    foreach ($fetch_model as $row) {        $show_model .= '<option value="' . $row->model_id . '">' . $row->model . '</option>';    }    echo $show_model;}public function form_for_private_sellers(Request $request){      $store_seller = new Sellers();    $store_seller->make = $request['make'];    $store_seller->model = $request['model'];}
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

我假设有一个带有 的按钮id="save"。


$("#save").click(function(e)

{

    e.preventDefault();

    const make = $("#make option:selected").val();

    const model = $("#model option:selected").val();

    const _token = $('input[name="_token"]').val();


    $.ajax({

        url:"{{route('form_for_private_sellers')}}",

        method:"POST",

        data:{make, _token, model},

        success:function(result)

        {

            console.log('all done');

        }

    });

});

public function form_for_private_sellers(Request $request)

{

    $store_seller = new Sellers();

    

    //you may need to adjust this part as I do not know your properties called.

    $store_seller->make = $request->make;

    $store_seller->model = $request->model;

    

    $store_seller->save();

}


查看完整回答
反对 回复 2023-10-21
  • 1 回答
  • 0 关注
  • 46 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信