【问题标题】:MeDoo - Conditional LIKE in the WHERE partMeDoo - WHERE 部分中的条件 LIKE
【发布时间】:2019-12-17 19:05:57
【问题描述】:

如何在 MeDoo 中编写以下 sql 查询???

SELECT * FROM lockers WHERE Active = 1 AND GymID = " . $gimid . " AND ForMale = " . $male . 
                    ($filter ? " AND Locker LIKE '%" . $filter . "%'" : "")

对我来说问题是有条件的 LIKE。

$total = $this->db->count('lockers', 
     ['AND' => [
          'Active' => 1, 
          'GymID' => $gimid, 
          'ForMale' => $male
     ]]
);

一些建议??? 非常感谢!!!

【问题讨论】:

  • 这能回答你的问题吗? LIKE operator in medoo
  • 谢谢,但是是不同的陈述......在下面的示例中,LIKE 总是会出现,在我的情况下,如果条件为 FALSE,则不会包含 LIKE。

标签: php medoo


【解决方案1】:

最后,我通过以下方式解决了:

// getting locker's total
$total = $this->db->debug()->count('lockers', [
    'AND' => [
        'Active' => 1, 
        'GymID' => $gimid, 
        'ForMale' => $male,
        'Locker[~]' => $filter ? $filter : '' //<- LIKE with empty string shows all
    ]
]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多