在laravel

时间:2017-10-07 12:02:38

标签: javascript php jquery ajax laravel

我是laravel框架的新手。我想在我的应用程序中完成一项重要任务。 在那个应用程序中,他们有模块,如发票,报价,付款,客户。对于特定客户,他们有多个发票,状态为已发送和部分付款。

enter image description here

这是收据页面,关于客户名称的类型,它将从客户表中自动提供。点击一下客户名称,它将根据客户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;
    }

提前致谢。请任何人帮助我摆脱这个问题。

1 个答案:

答案 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);
    });
}