Cake\Database\Expression\ValuesExpression::traverse PHP Method

traverse() public method

This method will also traverse any queries that are to be used in the INSERT values.
public traverse ( callable $visitor ) : void
$visitor callable The visitor to traverse the expression with.
return void
    public function traverse(callable $visitor)
    {
        if ($this->_query) {
            return;
        }
        if (!$this->_castedExpressions) {
            $this->_processExpressions();
        }
        foreach ($this->_values as $v) {
            if ($v instanceof ExpressionInterface) {
                $v->traverse($visitor);
            }
            if (!is_array($v)) {
                continue;
            }
            foreach ($v as $column => $field) {
                if ($field instanceof ExpressionInterface) {
                    $visitor($field);
                    $field->traverse($visitor);
                }
            }
        }
    }