将变量值传递到条件laravel 5.2

时间:2017-08-18 01:47:22

标签: php mysql database laravel

我试图用这样的变量值来制作条件。

  

RekapController @显示

public function show($tanggal)
{
    $absen = Absen::where('DATE(created_at)', '=', $tanggal)
                    ->get();
}

My Table Structure

但是当我运行我的代码时,它显示错误

  

未找到列:1054'where子句'中的未知列'DATE(created_at)'(SQL:select * from absen其中DATE(created_at) = 2017-08-17)

由于

2 个答案:

答案 0 :(得分:0)

由于DATE(created_at)里面会搜索DATE(created_at)表列,但是没有这样的列,并且它不知道为sql函数,所以你可以尝试以下方式,

$absen = Absen::select('absen.*',DB::raw('DATE(created_at) as date'))
                ->where('date', '=', $tanggal)
                ->get();

首先,您将获得created_at列的日期,然后比较where where子句。

希望你明白。

答案 1 :(得分:0)

你可以用

$absen = Absen::where(DB::raw("DATE_FORMAT(created_at,'%d/%M/%Y')"), '=', $tanggal)
                    ->get();