【问题标题】:Laravel Eloquent Query to have values first instead of column nameLaravel Eloquent Query 首先有值而不是列名
【发布时间】:2021-05-30 07:46:37
【问题描述】:

我正在尝试在 laravel eloquent 中运行以下查询,但我无法这样做。

SELECT * FROM vehicle_unavailabilities WHERE ("2021/06/05" NOT BETWEEN from_date and to_date) AND ("2021/06/07" NOT BETWEEN from_date and to_date)

如果我尝试

->whereNotBetween("2021/06/05",['from_date',['to_date'])

它给了我找不到列“2021/06/05”的错误。我怎样才能做到这一点??

【问题讨论】:

    标签: php mysql laravel eloquent


    【解决方案1】:

    这应该是您的列名。

    SELECT * FROM vehicle_unavailabilities WHERE ("COLUMN_NAME" NOT BETWEEN from_date and to_date) AND ("COLUMN_NAME" NOT BETWEEN from_date and to_date)

    ->whereNotBetween("COLUMN_NAME",['from_date', 'to_date'])

    【讨论】:

    • 我认为他们想使用固定日期而不是列名。
    • 但这不符合我的要求。我需要前面的值并将其与表字段中的值进行比较。 SQL 查询正在从 phpmyadmin sql 查询中正确执行
    • 但是哪里需要 column_name 来比较值?请在此处粘贴您的 SQL 查询..
    • 谢谢@Jayant,我想通了,->whereRaw("? BETWEEN from_date AND to_date", [$from_date])
    【解决方案2】:
    ->whereRaw("? BETWEEN `from_date` AND `to_date`", [$from_date])
    

    这解决了问题。

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-15
      相关资源
      最近更新 更多