Nette\Database\Table\Selection::whereOr PHP Method

whereOr() public method

More calls appends with AND.
public whereOr ( array $parameters ) : self
$parameters array
return self
    public function whereOr(array $parameters)
    {
        if (count($parameters) < 2) {
            return $this->where($parameters);
        }
        $columns = [];
        $values = [];
        foreach ($parameters as $key => $val) {
            if (is_int($key)) {
                // whereOr(['full condition'])
                $columns[] = $val;
            } elseif (strpos($key, '?') === FALSE) {
                // whereOr(['column1' => 1])
                $columns[] = $key . ' ?';
                $values[] = $val;
            } else {
                // whereOr(['column1 > ?' => 1])
                $qNumber = substr_count($key, '?');
                if ($qNumber > 1 && (!is_array($val) || $qNumber !== count($val))) {
                    throw new Nette\InvalidArgumentException('Argument count does not match placeholder count.');
                }
                $columns[] = $key;
                $values = array_merge($values, $qNumber > 1 ? $val : [$val]);
            }
        }
        $columnsString = '(' . implode(') OR (', $columns) . ')';
        return $this->where($columnsString, $values);
    }