【问题标题】:How to fix Unknown column 'CONCAT' in laravel如何修复laravel中的未知列'CONCAT'
【发布时间】:2020-01-02 10:21:14
【问题描述】:

在原生查询中工作,但是当我变成 laravel 代码时出现一些错误

我很困惑,因为我的 CONCAT 被视为列

$query = DB::table('bonus_produksi')
            ->join('bonus_areas', 'bonus_produksi.area', '=', 'bonus_areas.id')
            ->select('bonus_produksi.area',
                     'CONCAT(\'Rp.\',frupiah(bonus_produksi.besaran)',
                     'bonus_areas.nama_area')->get();

未知列 'CONCAT('Rp.',frupiah(bonus_produksi.besaran),',00')'

【问题讨论】:

标签: php laravel eloquent


【解决方案1】:

试试下面的答案

$query = DB::table('bonus_produksi')
        ->join('bonus_areas', 'bonus_produksi.area', '=', 'bonus_areas.id')
        ->selectRaw("bonus_produksi.area,
                 CONCAT('Rp.',frupiah(bonus_produksi.besaran),
                 bonus_areas.nama_area")->get();

【讨论】:

  • 我试试你的答案,但我得到 {"draw":1,"recordsTotal":2,"recordsFiltered":0,"data":[],"error":"Exception Message:\ n\n未定义属性:stdClass::$id"}
  • 您必须在您的 selectRaw 字符串中添加 id。不要忘记添加逗号分隔符
【解决方案2】:

通知查询生成器您正在使用 RAW 语句。

$query = DB::table('bonus_produksi')
            ->join('bonus_areas', 'bonus_produksi.area', '=', 'bonus_areas.id')
            ->select('bonus_produksi.area',
                     DB::raw("CONCAT(\'Rp.\',frupiah(bonus_produksi.besaran) as column_name"),
                     'bonus_areas.nama_area')->get();

请务必在顶部也包含此内容:

use DB;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2021-05-15
    • 2019-09-16
    • 2017-04-22
    • 1970-01-01
    相关资源
    最近更新 更多