【问题标题】:将字符串连接到 Select MY SQL Eloquent Query Laravel 中的值
【发布时间】:2022-01-21 07:43:52
【问题描述】:
$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 可能有三个可能的值 - InvoiceQuotationBill

不过,我需要一点零钱。我需要修改类型。我想在类型的末尾连接单词Return。意义: 如果值为Invoice,我希望类型为InvoiceReturn

看起来concat 可以做到,不知道如何在选择数组中实现concat。我尝试了类似的方法,但不起作用。

'concat(documents.type,"Return") as type'

【问题讨论】:

    标签: mysql laravel eloquent


    【解决方案1】:

    您需要将类型选择条目包装在对 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);
        });
    

    【讨论】:

      猜你喜欢
      • 2012-11-13
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多