Mysql 口若悬河的:“我的朋友们。”;其中(equals语句)和(LIKE语句)“;

Mysql 口若悬河的:“我的朋友们。”;其中(equals语句)和(LIKE语句)“;,mysql,laravel,laravel-5,eloquent,laravel-5.2,Mysql,Laravel,Laravel 5,Eloquent,Laravel 5.2,我基本上想做: select * from request where id = 1 and created_at like (today's date); 但是使用雄辩的语言 我试过: $query = m_requests::where(['id' => Auth::User()->id, "created_at", "like", "%".date("Y-m-d")."%"]); 但这会返回错误: SQLSTATE[42S22]: Column not found: 10

我基本上想做:

select * from request where id = 1 and created_at like (today's date);
但是使用雄辩的语言

我试过:

 $query = m_requests::where(['id' => Auth::User()->id, "created_at", "like", "%".date("Y-m-d")."%"]);
但这会返回错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown
column '0' in 'where clause' (SQL: select * from
from `request` where (`id` = 1 and `0` = created_at 
and `1` = like and `2` = %2016-04-22%))
有人知道我怎样才能达到我的目标吗

总之: 我希望id与请求的id相等,但我希望日期“像”今天的日期(这是因为我只关心它的创建日期,而不关心它的创建时间)


干杯

试试这个,它应该有用:

m_requests::where('id', '=', Auth::user()->id)
            ->where('created_at', 'LIKE', '%'.date("Y-m-d").'%');

您知道
timestamp
列不是字符串吗?你不能像使用一样使用它们,这毫无意义。如果您希望日期在今天的某个时间,那么您可以使用
BETWEEN
操作符,并为其指定开始和结束日期(
介于2016-04-22 00:00:00和2016-04-22 23:59:59
)。我只是以此为例。甚至没有检查它是否运行。对不起,我现在就编辑它(如果可以的话)。可能是的副本