我是laravel框架的新手。我想在我的应用程序中完成一项重要任务。 在那个应用程序中,他们有模块,如发票,报价,付款,客户。对于特定客户,他们有多个发票,状态为已发送和部分付款。
这是收据页面,关于客户名称的类型,它将从客户表中自动提供。点击一下客户名称,它将根据客户ID从(发票表)中获取发票详细信息,并需要在下面的表格中显示客户名称文本框,点击表格发票将打开模式,这意味着如果特定客户有他们需要的未付发票记录付款,否则继续正常收据创建。
我尝试这样的代码,但我没有得到正确的输出,请任何人帮助我摆脱这个问题。
<input type="text" name="customername" required="required" id="cust" placeholder="Customer Name" class="form-control col-md-7 col-xs-12 typeahead"/>
$( function() {
$( "#cust" ).autocomplete({
//source: "http://www.duminex.com/client/search",
source: "{{route('search.client')}}",
select: function( event, ui ) {
get_invoices(ui.item.id);
$('#id').val(ui.item.id);
$('#clientAddress').val(ui.item.address);
}
});
} );
function get_invoices(client_id)
{
$.ajax({
method: 'GET',
url: "{{route('client.details')}}"
}).done(function(data){
alert(data);
});
}
路由
Route::get('/client/search',[
'uses'=>'ClientsController@search',
'as'=>'search.client'
]);
Route::get('/client/search2', 'ClientsController@search2')->name('client.details');
控制器
public function search(Request $request)
{
$s= Input::get('term');
$clients = Client::select("id" ,"user_id", "companyname", "companyaddress" , "billingAddress")->where('companyname','like','%'.$s.'%')->where('user_id',Auth::user()->id)->get();
if(count($clients) == 0){
$searchResult[] = "No Item found";
}
else{
foreach ($clients as $key => $value) {
$searchResult[] = ['id' => $value->id, 'value' => $value->companyname , 'email' => $value->companyaddress , 'address' => $value->billingAddress];
}
}
return $searchResult;
}
public function search2(Request $request)
{
$clients = Invoice::select("invoiceNo")->where('status',['sent,Partially paid'])->where('client_id',$request->client_id)->get();
if(count($clients) == 0){
$searchResult[] = "No Item found";
}
else{
foreach ($clients as $key => $value) {
$searchResult[] = ['invoiceNo' => $value->invoiceNo];
}
}
return $searchResult;
}
提前致谢。请任何人帮助我摆脱这个问题。
答案 0 :(得分:1)
您没有将任何数据传递给ajax,这就是为什么您没有得到任何结果。 请尝试以下代码:
function get_invoices(client_id) {
$.ajax({
method: 'GET',
data : {
client_id: client_id
},
url: "{{route('client.details')}}"
}).done(function(data){
alert(data);
});
}