ElementCriteriaModel

Type
Class
Namespace
Craft
Inherits
Craft\ElementCriteriaModel » Craft\BaseModel » CModel (opens new window) » CComponent (opens new window)
Implements
ArrayAccess (opens new window), Countable (opens new window), IteratorAggregate (opens new window)
Since
1.0

Element criteria model class.

See also http://craftcms.com

View source (opens new window)

# Protected Properties

Property Description
$classSuffix string (opens new window)
$strictAttributes boolean (opens new window) – Whether this model should be strict about only allowing values to be set on defined attributes

# $strictAttributes

Type
boolean (opens new window)

Whether this model should be strict about only allowing values to be set on defined attributes

View source (opens new window)

Signature

protected boolean $strictAttributes = false

# Public Methods

Method Description
__call() Magic __call() method, used for chain-setting attribute values.
__construct() Constructor
__get() PHP getter magic method.
__isset() Treats attributes defined by defineAttributes() as properties.
__set() PHP setter magic method.
__unset() (opens new window) Sets a component property to be null.
addError() (opens new window) Adds a new error to the specified attribute.
addErrors() (opens new window) Adds a list of errors.
asa() (opens new window) Returns the named behavior object.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
attachEventHandler() (opens new window) Attaches an event handler to an event.
attributeLabels() Returns the attribute labels.
attributeNames() Returns the list of this model's attribute names.
behaviors() (opens new window) Returns a list of behaviors that this model should behave as.
canGetProperty() (opens new window) Determines whether a property can be read.
canSetProperty() (opens new window) Determines whether a property can be set.
clearErrors() (opens new window) Removes errors for all attributes or a single attribute.
copy() Returns a copy of this model.
count() Returns the total number of elements matched by this criteria. Required by the Countable interface.
createValidators() (opens new window) Creates validator objects based on the specification in {@link rules}.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
detachEventHandler() (opens new window) Detaches an existing event handler.
disableBehavior() (opens new window) Disables an attached behavior.
disableBehaviors() (opens new window) Disables all behaviors attached to this component.
enableBehavior() (opens new window) Enables an attached behavior.
enableBehaviors() (opens new window) Enables all behaviors attached to this component.
evaluateExpression() (opens new window) Evaluates a PHP expression or callback under the context of this component.
find() Returns all elements that match the criteria.
findElementAtOffset() Returns an element at a specific offset.
first() Returns the first element that matches the criteria.
generateAttributeLabel() Generates a user friendly attribute label.
getAllErrors() Returns all errors in a single, flattened list, devoid of attribute names.
getAttribute() Gets an attribute’s value.
getAttributeConfigs() Returns this model's normalized attribute configs.
getAttributeLabel() (opens new window) Returns the text label for the specified attribute.
getAttributes() Returns an array of attribute values.
getClassHandle() Get the class name, sans namespace and suffix.
getElementType()
getError() (opens new window) Returns the first error of the specified attribute.
getErrors() (opens new window) Returns the errors for all attribute or a single attribute.
getEventHandlers() (opens new window) Returns the list of attached event handlers for an event.
getExtraAttributeNames() Returns a list of the names of the extra attributes that have been saved on this model, if it's not strict.
getIterator() Returns an iterator for traversing over the elements.
getSafeAttributeNames() (opens new window) Returns the attribute names that are safe to be massively assigned.
getScenario() (opens new window) Returns the scenario that this model is used in.
getSupportedFieldHandles() Returns the field handles that didn't conflict with the main attribute names.
getValidatorList() (opens new window) Returns all the validators declared in the model.
getValidators() (opens new window) Returns the validators applicable to the current {@link scenario}.
hasErrors() (opens new window) Returns a value indicating whether there is any validation error.
hasEvent() (opens new window) Determines whether an event is defined.
hasEventHandler() (opens new window) Checks whether the named event has attached handlers.
hasProperty() (opens new window) Determines whether a property is defined.
ids() Returns all element IDs that match the criteria.
isAttributeRequired() (opens new window) Returns a value indicating whether the attribute is required.
isAttributeSafe() (opens new window) Returns a value indicating whether the attribute is safe for massive assignments.
last() Returns the last element that matches the criteria.
nth() Returns an element at a specific offset.
offsetExists() Returns whether an element exists at a given offset. Required by the ArrayAccess interface.
offsetGet() Returns the element at a given offset. Required by the ArrayAccess interface.
offsetSet() Sets the element at a given offset. Required by the ArrayAccess interface.
offsetUnset() Unsets an element at a given offset. Required by the ArrayAccess interface.
onAfterConstruct() (opens new window) This event is raised after the model instance is created by new operator.
onAfterValidate() (opens new window) This event is raised after the validation is performed.
onBeforeValidate() (opens new window) This event is raised before the validation is performed.
onPopulateElements() Fires an 'onPopulateElements' event.
onUnsafeAttribute() (opens new window) This method is invoked when an unsafe attribute is being massively assigned.
populateModel() Populates a new model instance with a given set of attributes.
populateModels() Mass-populates models based on an array of attribute arrays.
raiseEvent() (opens new window) Raises an event.
rules() Returns this model's validation rules.
setAttribute() Sets an attribute's value.
setAttributes() Sets multiple attribute values at once.
setLanguage() Language => locale
setMatchedElements() Stores the matched elements to avoid redundant DB queries.
setScenario() (opens new window) Sets the scenario for the model.
total() Returns the total elements that match the criteria.
unsetAttributes() (opens new window) Sets the attributes to be null.
validate() Validates all of the attributes for the current Model. Any attributes that fail validation will additionally get logged to the craft/storage/runtime/logs folder with a level of LogLevel::Warning.

# __construct()

Constructor

View source (opens new window)

Arguments

Returns

Craft\ElementCriteriaModel

Signature

public Craft\ElementCriteriaModel __construct ( $attributes, Craft\BaseElementType $elementType )

# copy()

Returns a copy of this model.

View source (opens new window)

Returns

Craft\BaseModel

Signature

public Craft\BaseModel copy ( )

# count()

Returns the total number of elements matched by this criteria. Required by the Countable interface.

View source (opens new window)

Returns

integer (opens new window)

Signature

public integer count ( )

# find()

Returns all elements that match the criteria.

View source (opens new window)

Arguments

Returns

array (opens new window) – The matched elements.

Signature

public array find ( $attributes = null )

# findElementAtOffset()

DEPRECATED

Deprecated Deprecated in 2.2. Use {@link nth()} instead.

Returns an element at a specific offset.

View source (opens new window)

Arguments

Returns

Craft\BaseElementModel, null (opens new window)

Signature

public Craft\BaseElementModel, null findElementAtOffset ( $offset )

# first()

Returns the first element that matches the criteria.

View source (opens new window)

Arguments

Returns

Craft\BaseElementModel, null (opens new window)

Signature

public Craft\BaseElementModel, null first ( $attributes = null )

# getElementType()

Signature

public Craft\BaseElementType getElementType ( )

# getIterator()

Returns an iterator for traversing over the elements. Required by the IteratorAggregate interface.

View source (opens new window)

Returns

ArrayIterator (opens new window)

Signature

public ArrayIterator getIterator ( )

# getSupportedFieldHandles()

Returns the field handles that didn't conflict with the main attribute names.

View source (opens new window)

Returns

array (opens new window)

Signature

public array getSupportedFieldHandles ( )

# ids()

Returns all element IDs that match the criteria.

View source (opens new window)

Arguments

Returns

array (opens new window)

Signature

public array ids ( $attributes = null )

# last()

Returns the last element that matches the criteria.

View source (opens new window)

Arguments

Returns

Craft\BaseElementModel, null (opens new window)

Signature

public Craft\BaseElementModel, null last ( $attributes = null )

# nth()

Returns an element at a specific offset.

View source (opens new window)

Arguments

Returns

Craft\BaseElementModel, null (opens new window) – The element, if there is one.

Signature

public Craft\BaseElementModel, null nth ( $offset )

# offsetExists()

Returns whether an element exists at a given offset. Required by the ArrayAccess interface.

View source (opens new window)

Arguments

  • $offset (mixed)

Returns

boolean (opens new window)

Signature

public boolean offsetExists ( $offset )

# offsetGet()

Returns the element at a given offset. Required by the ArrayAccess interface.

View source (opens new window)

Arguments

  • $offset (mixed)

Returns

mixed

Signature

public mixed offsetGet ( $offset )

# offsetSet()

Sets the element at a given offset. Required by the ArrayAccess interface.

View source (opens new window)

Arguments

  • $offset (mixed)
  • $item (mixed)

Returns

null (opens new window)

Signature

public null offsetSet ( $offset, $item )

# offsetUnset()

Unsets an element at a given offset. Required by the ArrayAccess interface.

View source (opens new window)

Arguments

  • $offset (mixed)

Returns

null (opens new window)

Signature

public null offsetUnset ( $offset )

# onPopulateElements()

Fires an 'onPopulateElements' event.

View source (opens new window)

Arguments

Returns

null (opens new window)

Signature

public null onPopulateElements ( Craft\Event $event )

# setAttribute()

Sets an attribute's value. In addition, clears the cached values when a new attribute is set.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Signature

public boolean setAttribute ( $name, $value )

# setLanguage()

Language => locale

View source (opens new window)

Arguments

  • $locale

Returns

Craft\ElementCriteriaModel

Signature

public Craft\ElementCriteriaModel setLanguage ( $locale )

# setMatchedElements()

Stores the matched elements to avoid redundant DB queries.

View source (opens new window)

Arguments

Returns

null (opens new window)

Signature

public null setMatchedElements ( $elements )

# total()

Returns the total elements that match the criteria.

View source (opens new window)

Arguments

Returns

integer (opens new window)

Signature

public integer total ( $attributes = null )

# Protected Methods

Method Description
afterConstruct() (opens new window) This method is invoked after a model instance is created by new operator.
afterValidate() (opens new window) This method is invoked after validation ends.
beforeValidate() (opens new window) This method is invoked before validation starts.
defineAttributes() Defines this model's attributes.

# defineAttributes()

Defines this model's attributes.

BaseModel::defineAttributes()

View source (opens new window)

Returns

array (opens new window)

Signature

protected array defineAttributes ( )