public function inExplicitOrder($column, array $order, bool $areOtherFirst = false): self
    {
        $column = $this->checkStringValue('Argument $column', $column);
        foreach ($order as $index => &$value) {
            $value = $this->checkScalarOrNullValue('Argument $order['.$index.']', $value);
        }

        $this->order[] = new ExplicitOrder($column, $order, $areOtherFirst);
        return $this;
    }
public function inExplicitOrder($column, array $order, bool $areOtherFirst = false): self
    {
        $column = $this->checkStringValue('Argument $column', $column);
        foreach ($order as $index => &$value) {
            $value = $this->checkScalarOrNullValue('Argument $order['.$index.']', $value);
        }

        $this->order[] = new ExplicitOrder($column, $order, $areOtherFirst);
        return $this;
    }
public function inExplicitOrder ( $ column , array $ order , bool $ areOtherFirst = false ) : self { $ column = $ this -> checkStringValue ( 'Argument $column' , $ column ) ; foreach ( $ order as $ index => & $ value ) { $ value = $ this -> checkScalarOrNullValue ( 'Argument $order[' . $ index . ']' , $ value ) ; } $ this -> order [ ] = new ExplicitOrder ( $ column , $ order , $ areOtherFirst ) ; return $ this ; }
Adds such order that makes a column values follow the explicitly given order.

@param string|\Closure|self|StatementInterface $column The column
@param mixed[]|\Closure[]|Query[]|StatementInterface[] $order The values in the required order
@param bool $areOtherFirst Must the values not in the list go first; otherwise they will go last
@return $this
@throws InvalidArgumentException
@throws InvalidReturnValueException
Adds such order that makes a column values follow the explicitly given order .