【问题标题】:Undefined variable: data", exception: "ErrorException",…}未定义变量:数据”,异常:“ErrorException”,...}
【发布时间】:2020-05-09 06:22:32
【问题描述】:

我在这段代码中有一个别名,即 RIGHT (no_antrian, 3) as code

当我用 $ 代码调用别名时,laravel 说 Undefined variable: data ", exception:" ErrorException ", ...}

        $result = DB::table('data_antrian')->select(DB::raw('RIGHT(no_antrian,3) as kode'))->where('tanggal', '=', $tanggal)->orderBy('id', 'desc')->take(1)->get();


        $rows = DB::table('data_antrian')->where('tanggal', '=', $tanggal)->count();

        if ($rows > 0) {
            // $data = mysql_fetch_assoc($result);
            // $kode = $data['kode']+1;
            $kode = $data['kode']+1;
        } else {
            $kode = '001';
        }

【问题讨论】:

    标签: laravel eloquent query-builder


    【解决方案1】:

    您没有定义数据,同时您也将$result 变量视为单个实体,它是一个集合。因此,我认为这就是你想要做的。

    $result = DB::table('data_antrian')->select(DB::raw('RIGHT(no_antrian,3) as kode'))->where('tanggal', '=', $tanggal)->orderBy('id', 'desc')->take(1)->first();
    $rows = DB::table('data_antrian')->where('tanggal', '=', $tanggal)->count();
    
    if ($rows > 0) {
        $kode = $result->kode + 1;
    } else {
        $kode = '001';
    }
    

    在第一个查询而不是get() 中,我只得到一个结果,因为你只有take(1)。使用结果而不是数据并将其用作对象,因为它是一个对象。

    【讨论】:

    • 谢谢,您的建议很有帮助,让我的代码恢复正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2018-01-26
    • 2020-09-24
    • 2018-11-29
    相关资源
    最近更新 更多