我在这段代码中有一个别名是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';
}
你没有定义数据, 同时你也把你的 $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,并将其作为对象使用,因为它是一个对象。