FieldsOverlapException example


  protected function preExecute() {
    // Confirm that the user did not try to specify an identical     // field and default field.     if (array_intersect($this->insertFields, $this->defaultFields)) {
      throw new FieldsOverlapException('You may not specify the same field to have a value and a schema-default value.');
    }

    if (!empty($this->fromQuery)) {
      // We have to assume that the used aliases match the insert fields.       // Regular fields are added to the query before expressions, maintain the       // same order for the insert fields.       // This behavior can be overridden by calling fields() manually as only the       // first call to fields() does have an effect.       $this->fields(array_merge(array_keys($this->fromQuery->getFields())array_keys($this->fromQuery->getExpressions())));
    }
    else {
      

  protected function preExecute() {
    // Confirm that the user set the unique/primary key of the table.     if (!$this->key) {
      throw new NoUniqueFieldException('There is no unique field specified.');
    }

    // Confirm that the user did not try to specify an identical     // field and default field.     if (array_intersect($this->insertFields, $this->defaultFields)) {
      throw new FieldsOverlapException('You may not specify the same field to have a value and a schema-default value.');
    }

    // Don't execute query without fields.     if (count($this->insertFields) + count($this->defaultFields) == 0) {
      throw new NoFieldsException('There are no fields available to insert with.');
    }

    // If no values have been added, silently ignore this query. This can happen     // if values are added conditionally, so we don't want to throw an     // exception.     return isset($this->insertValues[0]) || $this->insertFields;
  }
Home | Imprint | This part of the site doesn't use cookies.