我使用来自控制器的json_encode($items);
函数(特别是id的"price"字段(将数据从数据库提取到发票视图页面,效果很好。但当我将该特定字段插入数据库时,只存储id/键,而不是实际值。任何猜测如何在控制器中请求值而不是键/id。
这是控制器的功能:
public function getPurchaseItems($id)
{
$items = DB::table("purchase")->where("pur_id",$id)->pluck("price","pur_id");
return json_encode($items);
}
这是html代码:
<div class="form-group col-md-1">
<label for="in">Price</label>
<select name="price" readonly class="form-control prc" id="price">
</select>
</div>
这是脚本:
jQuery('select[name="state"]').on('change',function(){
var stateID = jQuery(this).val();
if(stateID)
{
jQuery.ajax({
url : 'invoice/getPurchaseItems/' +stateID,
type : "GET",
dataType : "json",
success:function(data)
{
console.log(data);
jQuery('select[name="price"]').empty();
jQuery.each(data, function(key,value){
$('select[name="price"]').append('<option value="'+ key +'">'+ value +'</option>');
});
}
});
}
else
{
$('select[name="price"]').empty();
}
});
以下是请求的数据并存储到数据库:
public function insertInv(Request $request){
$price = $request->input('price');
$invoiceId= DB::table('invoice')->insertGetId($invo);
$invo_det=array('invoice_no'=>$invoiceId,'price'=>$price);
DB::table('invoice_details')->insert($invo_det);
修改您的insertInv函数
从$price = $request->input('price');
中删除input((ORdd($request->all());
并检查控制器中的所有值的格式是否正确,并将结果张贴在此处