Undefined variable: data", exception: "ErrorException",...}。

问题描述 投票:-1回答:1

我在这段代码中有一个别名是RIGHT(no_antrian,3),作为代码

当我用$代码调用别名时, 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个回答
0
投票

你没有定义数据, 同时你也把你的 $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). 使用result代替data,并将其作为对象使用,因为它是一个对象。

© www.soinside.com 2019 - 2024. All rights reserved.