NoFieldsException example

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 {
      // 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.     if (!isset($this->insertValues[0]) && count($this->insertFields) > 0 && empty($this->fromQuery)) {
      return FALSE;
    }
    return TRUE;
  }

}
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;
  }

  /** * Executes the UPSERT operation. * * @return int * An integer indicating the number of rows affected by the operation. Do * not rely on this value as a precise indication of the actual rows * affected: different database engines return different values. */
Home | Imprint | This part of the site doesn't use cookies.