выберите столбец specfi c из внутренней объединенной таблицы в laravel - PullRequest
0 голосов
/ 18 июня 2020

Мне нужны все столбцы из таблицы invoice, invoice_details, но я хочу получить только один столбец (имя столбца: amount) из моей таблицы платежей. Какой будет мой запрос? вот мой контроллер.

$all_invoice = DB::table('invoice')
        ->join('invoice_details', 'invoice.invoice_id', '=', 'invoice_details.invoice_id')
        ->join('payment', 'invoice.invoice_id', '=', 'payment.invoice_id')
        ->where('invoice.client_id', 7)
        ->orderBy('invoice.invoice_id', 'DESC')
        ->get();

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Просто используя select

$all_invoice = DB::table('invoice')
       ->join('invoice_details', 'invoice.invoice_id','=','invoice_details.invoice_id')
       ->join('payment', 'invoice.invoice_id', '=', 'payment.invoice_id')
       ->where('invoice.client_id', 7)
       ->select('payment.amount')
       ->orderBy('invoice.invoice_id', 'DESC')
       ->get();
0 голосов
/ 18 июня 2020

Это очень просто, вам нужно добавить предложение выбора в запрос, подобный этому.

$ all_invoice = DB :: table ('invoice') -> select (['invoice. *', 'Payment.amount ']) -> join (' invoice_details ',' invoice.invoice_id ',' = ',' invoice_details.invoice_id ') -> join (' payment ',' invoice.invoice_id ',' = ',' payment.invoice_id ' ) -> where ('invoice.client_id', 7) -> orderBy ('invoice.invoice_id', 'DES C') -> get ();

Если вам все еще нужно запросить, см. laravel документы в опции выбора в запросе.

...