简体   繁体   English

如何搜索供应商名称?

[英]How to Search With Vendor Name As Well?

I'm using Laravel 5.7 & VueJs 2.5.* ... 我正在使用Laravel 5.7VueJs 2.5.* ...

I have a table with invoice data in it and a invoice is related to the vendor so i also displayed the vendor name in the table, i'm using search feature it works when i search invoice number, but when i want to search with vendor name, its not working. 我有一个带有发票数据的表,并且发票与供应商相关,所以我还在表中显示了供应商名称,我正在使用搜索功能,当我搜索发票编号时可以使用,但是当我想与供应商一起搜索时名称,它不起作用。

i did something like this: 我做了这样的事情:

I DID THIS IN SCRIPT 我在脚本中做了这个

mounted() {
    Fire.$on("searching", () => {
      let query = this.$parent.search;
      axios
        .get("api/findVTI?q=" + query)
        .then(data => {
          this.ticketInvoices = data.data;
        })
        .catch();
    });

I MADE A ROUTE 我做了一个路线

Route::get('findVTI', 'API\TicketInvoiceController@searchVTI');

IN MY INVOICE CONTROLLER I DID THIS 在我的发票控制员中,我做到了

    public function searchVTI()
    {
        if($search = \Request::get('q')){
            $VTI = TicketInvoice::where(function($query) use ($search){
                $query->where('ticket_invoice_no','LIKE',"%$search%")
                      ->orWhere('ticket_invoice_grand_total','LIKE',"%$search%")
                      ->orWhere('vendor_company_name','LIKE',"%$search%");
            })->paginate(10);
        }else{
            return TicketInvoice::paginate(10);
        }
        return $VTI;
    }

When i write this line: ->orWhere('vendor_company_name','LIKE',"%$search%"); 当我写此行时: ->orWhere('vendor_company_name','LIKE',"%$search%"); i got an error in console that, vendor_company_name does not exist in ticket_invoices . 我在控制台中遇到错误, vendor_company_name中不存在ticket_invoices

I play around with many thing but didn't succeed... 我玩很多事情,但没有成功...

Image For Better Understanding: 更好理解的图像: 在此处输入图片说明

您尝试进入一个较低的级别,您需要查看vendor.vendor_company_name,您将跳过供应商部分。

->orWhere('vendor.vendor_company_name','LIKE',"%$search%");

It isnt working because i write orWhere('vendor_company_name','LIKE',"%$search%"), but vendor is relationship and i need to write instead last orWhere something like: 它不起作用,因为我写了orWhere('vendor_company_name','LIKE',“%$ search%”),但是供应商是关系,我需要写最后一个orWhere,例如:

->orWhereHas('vendor', function($query) use ($search){
    $query->where('vendor_company_name', 'LIKE', "%{$search}%");
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM