$return = ReturnDocument::where('contact_id',$contact->id)
->join('documents', 'return_documents.document_id', '=', 'documents.id')
->select([
'return_documents.id as id',
'return_documents.date as date',
'documents.serial as serial',
'documents.type as type',
'return_documents.net_total as amount',
'return_documents.note as description'
])
->where('return_documents.date', '<=', $to)
->where('return_documents.date', '>=', $from)
->when($draft == false, function ($query) {
return $query->where('return_documents.confirmed_at','<>', null);
});
這是我寫的一個查詢,效果很好。可能有三種可能的值documents.type as type- Invoice,Quotation或Bill。
但是,我需要一個小的改變。我需要修改型別。我想連接Return型別末尾的單詞。意思是:如果值是Invoice我希望型別出來InvoiceReturn
貌似concat可以,不知道怎么concat在select陣列里面實作。我試過這樣的事情,但沒有用。
'concat(documents.type,"Return") as type'
uj5u.com熱心網友回復:
您需要將您的型別選擇條目包裝在對 的呼叫中DB::raw():
$return = ReturnDocument::where('contact_id',$contact->id)
->join('documents', 'return_documents.document_id', '=', 'documents.id')
->select([
'return_documents.id as id',
'return_documents.date as date',
'documents.serial as serial',
DB::raw('concat(documents.type, "Return") as type'),
'return_documents.net_total as amount',
'return_documents.note as description'
])
->where('return_documents.date', '<=', $to)
->where('return_documents.date', '>=', $from)
->when($draft == false, function ($query) {
return $query->where('return_documents.confirmed_at','<>', null);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386359.html
