【问题标题】:Eloquent: "WHERE (equals statement) AND (LIKE statement)"雄辩:“WHERE(equals 语句)AND(LIKE 语句)”
【发布时间】:2016-04-22 12:34:14
【问题描述】:

我基本上是想做的:

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,但我希望日期是“喜欢”今天的日期(这是因为我只对它的创建日期感兴趣,而不是它的创建时间)。

干杯

【问题讨论】:

  • 您知道timestamp 列不是字符串吗?你不能和他们一起使用LIKE,这是没有意义的。如果您希望日期在今天的某个地方,那么您可以使用 BETWEEN 运算符并为其指定开始和结束日期 (BETWEEN 2016-04-22 00:00:00 AND 2016-04-22 23:59:59)。
  • 我只是以它为例。甚至没有检查它是否运行。抱歉,我现在就编辑它(如果可以的话)。

标签: mysql laravel laravel-5 eloquent laravel-5.2


【解决方案1】:

试试这个,它应该可以工作:

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

【讨论】:

    猜你喜欢
    • 2014-09-20
    • 2017-10-18
    • 2014-01-03
    • 2017-08-31
    • 2020-07-22
    • 1970-01-01
    • 2021-02-13
    • 2015-05-17
    • 1970-01-01
    相关资源
    最近更新 更多