从数据库中提取时避免特定值的最佳方法?

Best way to avoid specific values, when extracting from database?

问题

忽略特定值,当拉取数组时,使用 medoo 并合并。

详情

假设我有两个数组,由两个相似的表创建。他们有一个 'user' 行和一个 'id' 行。 示例如下:

id        name   
-------   ---------
  1         John Doe     
  2         John Snow    
  3         Jane     
  4         Jane       

忽略名称行中包含 'John ...' 的所有条目的最佳方法是什么? 我的 array_merge 目前是这样的:

  public function getUsersByName($name)
    {
        $res = array_merge(
            $this->_db->select('users1', ['id', 'name'],
            $this->_db->select('users2', ['id', 'name']
        );
        return $res;
    }

这 returns 一个很好的数组,所有值都在表中。忽略这些值并跳到下一个合法值的最佳做法是什么?

要在 medoo 中使用 WHERE .. NOT LIKE .. 进行 运行 查询,您可以将第三个参数传递给 select(),其中包含一个 where 子句数组。键是带有运算符的列,值是 - 嗯,值。

例如,从 users1 到 select,其中没有名称以 John 开头,您需要

$this->_db->select('users1', ['id', 'name'], ['name[!~]' => 'John']);

[!~] 表示 NOT LIKE