src/Where.php
public function where(
    $column,
        $operator = null,
        $value = null,
        $bool = 'and',
        $not = false
    ) {
        if ($column instanceof \Closure) {
            $where         = new Where();
            call_user_func_array($column, [ &$where ]);
            $this->where[] = [
                'type'   => __FUNCTION__ . 'Callback',
                'column' => $where->getColumns(),
                'value'  => $where,
                'bool'   => $bool,
                'not'    => $not
            ];
            $this->columns = array_merge($this->columns, $where->getColumns());

            return $this;
        }
        if ($value === null) {
            $value    = $operator;
            $operator = '=';
        }

        /* Pour que l'opérateur soit insensible à la case. */
        $condition = strtolower($operator);

        /* Si l'opérateur n'est pas autorisé. */
        if (!in_array($condition, $this->contidion)) {
            throw new OperatorNotFound("The condition $condition is not exist.");
        }
        if ($condition === '=') {
            $condition = '===';
        } elseif (in_array($condition, [ 'like', 'ilike', 'not like', 'not ilike' ])) {
            /* Protection des caractères spéciaux des expressions rationnelles autre que celle imposée. */
            $value   = preg_quote($value);
            /* Le paterne commun au 4 conditions. */
            $pattern = '/^' . strtr($value, ['%' => '.*']);

            /* Pour rendre la regex inssencible à la case. */
            $pattern .= $condition === 'like' || $condition === 'not like'
                ? '$/'
                : '$/i';

            /* Pour inverser le comportement du like. */
            $not = $condition === 'not like' || $condition === 'not ilike';

            return $this->regex($column, $pattern, $bool, $not);
        }

        $this->where[]   = [
            'type'      => __FUNCTION__,
            'column'    => $column,
            'condition' => $condition,
            'value'     => $value,
            'bool'      => $bool,
            'not'       => $not
        ];
        $this->columns[] = $column;

        return $this;
    }
public function where(
    $column,
        $operator = null,
        $value = null,
        $bool = 'and',
        $not = false
    ) {
        if ($column instanceof \Closure) {
            $where         = new Where();
            call_user_func_array($column, [ &$where ]);
            $this->where[] = [
                'type'   => __FUNCTION__ . 'Callback',
                'column' => $where->getColumns(),
                'value'  => $where,
                'bool'   => $bool,
                'not'    => $not
            ];
            $this->columns = array_merge($this->columns, $where->getColumns());

            return $this;
        }
        if ($value === null) {
            $value    = $operator;
            $operator = '=';
        }

        /* Pour que l'opérateur soit insensible à la case. */
        $condition = strtolower($operator);

        /* Si l'opérateur n'est pas autorisé. */
        if (!in_array($condition, $this->contidion)) {
            throw new OperatorNotFound("The condition $condition is not exist.");
        }
        if ($condition === '=') {
            $condition = '===';
        } elseif (in_array($condition, [ 'like', 'ilike', 'not like', 'not ilike' ])) {
            /* Protection des caractères spéciaux des expressions rationnelles autre que celle imposée. */
            $value   = preg_quote($value);
            /* Le paterne commun au 4 conditions. */
            $pattern = '/^' . strtr($value, ['%' => '.*']);

            /* Pour rendre la regex inssencible à la case. */
            $pattern .= $condition === 'like' || $condition === 'not like'
                ? '$/'
                : '$/i';

            /* Pour inverser le comportement du like. */
            $not = $condition === 'not like' || $condition === 'not ilike';

            return $this->regex($column, $pattern, $bool, $not);
        }

        $this->where[]   = [
            'type'      => __FUNCTION__,
            'column'    => $column,
            'condition' => $condition,
            'value'     => $value,
            'bool'      => $bool,
            'not'       => $not
        ];
        $this->columns[] = $column;

        return $this;
    }
Ajoute une condition simple pour la requête.
Si la valeur du champ est égal (non égale, supérieur à, ...)  par rapport à une valeur.

@param callable|string $column   Sous condition ou une colonne.
@param null|string     $operator Type de condition.
@param null|string     $value    Valeur de teste.
@param string          $bool     Porte logique de la condition (and|or).
@param bool            $not      Inverse la condition.

@throws OperatorNotFound
@return $this