如何解决无法从Laravel中的下拉菜单保存表列值
我正在使用Laravel 7和PHP 7.4。
我正在尝试使用ajax将依赖项下拉到表单中。我正在以Ajax响应方式发送 column_id 和 column 。我的下拉列表工作正常,但是数据库查询或ajax响应都混乱了。我的下拉列表显示了列的值,但是当我尝试保存到数据库时,它仅保存列的“ Id”而不是值。
我只想将 column_id 和 column 都发送到我的下拉菜单中,但只将值保存到数据库中。
刀片
<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'];
}
解决方法
我假设有一个带有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();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。