ActiveRecordInterface.
Method DetailsReturns the list of all attribute names of the record.
public function attributes();
Deletes the record from the database.
public abstract integer|boolean delete ( ) return integer|booleanThe number of rows deleted, or false
if the deletion is unsuccessful for some reason. Note that it is possible that the number of rows deleted is 0, even though the deletion execution is successful.
public function delete();
Deletes records using the provided conditions.
WARNING: If you do not specify any condition, this method will delete ALL rows in the table.
For example, to delete all customers whose status is 3:
Customer::deleteAll([status = 3]);
public abstract static integer deleteAll ( $condition = null ) $condition array|null
The condition that matches the records that should get deleted. Please refer to yii\db\QueryInterface::where() on how to specify this parameter. An empty condition will match all records.
return integerThe number of rows deleted
public static function deleteAll($condition = null);
Returns a value indicating whether the given active record is the same as the current one.
Two new records are considered to be not equal.
public abstract boolean equals ( $record ) $record staticRecord to compare to
return booleanWhether the two active records refer to the same row in the same database table.
public function equals($record);
Creates an yii\db\ActiveQueryInterface instance for query purpose.
The returned yii\db\ActiveQueryInterface instance can be further customized by calling methods defined in yii\db\ActiveQueryInterface before one()
or all()
is called to return populated ActiveRecord instances. For example,
$customer = Customer::find()->where(['id' => 1])->one();
$customers = Customer::find()
->where(['status' => 1])
->orderBy('age')
->all();
This method is also called by yii\db\BaseActiveRecord::hasOne() and yii\db\BaseActiveRecord::hasMany() to create a relational query.
You may override this method to return a customized query. For example,
class Customer extends ActiveRecord
{
public static function find()
{
return new CustomerQuery(get_called_class());
}
}
The following code shows how to apply a default condition for all queries:
class Customer extends ActiveRecord
{
public static function find()
{
return parent::find()->where(['deleted' => false]);
}
}
$customers = Customer::find()->andWhere('age>30')->all();
$customers = Customer::find()->where('age>30')->all();
public static function find();
Returns a list of active record models that match the specified primary key value(s) or a set of column values.
The method accepts:
WHERE
condition.['id' => 1, 2]
is treated as a non-associative array. Column names are limited to current records table columns for SQL DBMS, or filtered otherwise to be limted to simple filter conditions.This method will automatically call the all()
method and return an array of ActiveRecord instances.
Note: As this is a short-hand method only, using more complex conditions, like ['!=', 'id', 1] will not work. If you need to specify more complex conditions, use find() in combination with where() instead.
See the following code for usage examples:
$customers = Customer::findAll(10);
$customers = Customer::find()->where(['id' => 10])->all();
$customers = Customer::findAll([10, 11, 12]);
$customers = Customer::find()->where(['id' => [10, 11, 12]])->all();
$customers = Customer::findAll(['age' => 30, 'status' => 1]);
$customers = Customer::find()->where(['age' => 30, 'status' => 1])->all();
If you need to pass user input to this method, make sure the input value is scalar or in case of array condition, make sure the array structure can not be changed from the outside:
public function actionView($id)
{
$model = Post::findOne($id);
}
$model = Post::findOne(['id' => Yii::$app->request->get('id')]);
$model = Post::findOne(Yii::$app->request->get('id'));
public abstract static array findAll ( $condition ) $condition mixed
Primary key value or a set of column values
return arrayAn array of ActiveRecord instance, or an empty array if nothing matches.
public static function findAll($condition);
Returns a single active record model instance by a primary key or an array of column values.
The method accepts:
null
if not found).null
if not found).null
if not found). Note that ['id' => 1, 2]
is treated as a non-associative array. Column names are limited to current records table columns for SQL DBMS, or filtered otherwise to be limited to simple filter conditions.That this method will automatically call the one()
method and return an ActiveRecord instance.
Note: As this is a short-hand method only, using more complex conditions, like ['!=', 'id', 1] will not work. If you need to specify more complex conditions, use find() in combination with where() instead.
See the following code for usage examples:
$customer = Customer::findOne(10);
$customer = Customer::find()->where(['id' => 10])->one();
$customers = Customer::findOne([10, 11, 12]);
$customers = Customer::find()->where(['id' => [10, 11, 12]])->one();
$customer = Customer::findOne(['age' => 30, 'status' => 1]);
$customer = Customer::find()->where(['age' => 30, 'status' => 1])->one();
If you need to pass user input to this method, make sure the input value is scalar or in case of array condition, make sure the array structure can not be changed from the outside:
public function actionView($id)
{
$model = Post::findOne($id);
}
$model = Post::findOne(['id' => Yii::$app->request->get('id')]);
$model = Post::findOne(Yii::$app->request->get('id'));
public abstract static static|null findOne ( $condition ) $condition mixed
Primary key value or a set of column values
return static|nullActiveRecord instance matching the condition, or null
if nothing matches.
public static function findOne($condition);
Returns the named attribute value.
If this record is the result of a query and the attribute is not loaded, null
will be returned.
See also hasAttribute().
public abstract mixed getAttribute ( $name ) $name stringThe attribute name
return mixedThe attribute value. null
if the attribute is not set or does not exist.
public function getAttribute($name);
Returns the connection used by this AR class.
public abstract static mixed getDb ( ) return mixedThe database connection used by this AR class.
public static function getDb();
Returns a value indicating whether the current record is new (not saved in the database).
public function getIsNewRecord();
Returns the old primary key value(s).
This refers to the primary key value that is populated into the record after executing a find method (e.g. find(), findOne()). The value remains unchanged even if the primary key attribute is manually assigned with a different value.
public abstract mixed getOldPrimaryKey ( $asArray = false ) $asArray booleanWhether to return the primary key value as an array. If true, the return value will be an array with column name as key and column value as value. If this is false
(default), a scalar value will be returned for non-composite primary key.
The old primary key value. An array (column name => column value) is returned if the primary key is composite or $asArray
is true. A string is returned otherwise (null
will be returned if the key value is null
).
public function getOldPrimaryKey($asArray = false);
Returns the primary key value(s).
public abstract mixed getPrimaryKey ( $asArray = false ) $asArray booleanWhether to return the primary key value as an array. If true, the return value will be an array with attribute names as keys and attribute values as values. Note that for composite primary keys, an array will always be returned regardless of this parameter value.
return mixedThe primary key value. An array (attribute name => attribute value) is returned if the primary key is composite or $asArray
is true. A string is returned otherwise (null
will be returned if the key value is null
).
public function getPrimaryKey($asArray = false);
Returns the relation object with the specified name.
A relation is defined by a getter method which returns an object implementing the yii\db\ActiveQueryInterface (normally this would be a relational yii\db\ActiveQuery object). It can be declared in either the ActiveRecord class itself or one of its behaviors.
public function getRelation($name, $throwException = true);
Returns a value indicating whether the record has an attribute with the specified name.
public abstract boolean hasAttribute ( $name ) $name stringThe name of the attribute
return booleanWhether the record has an attribute with the specified name.
public function hasAttribute($name);
Inserts the record into the database using the attribute values of this record.
Usage example:
$customer = new Customer;
$customer->name = $name;
$customer->email = $email;
$customer->insert();
public abstract boolean insert ( $runValidation = true, $attributes = null ) $runValidation boolean
Whether to perform validation (calling validate()) before saving the record. Defaults to true
. If the validation fails, the record will not be saved to the database and this method will return false
.
List of attributes that need to be saved. Defaults to null
, meaning all attributes that are loaded from DB will be saved.
Whether the attributes are valid and the record is inserted successfully.
public function insert($runValidation = true, $attributes = null);
public abstract static static instance ( $refresh = false ) $refresh boolean
Whether to re-create static instance even, if it is already cached.
return staticClass instance.
public static function instance($refresh = false);
Returns a value indicating whether the given set of attributes represents the primary key for this model.
public abstract static boolean isPrimaryKey ( $keys ) $keys arrayThe set of attributes to check
return booleanWhether the given set of attributes represents the primary key for this model
public static function isPrimaryKey($keys);
Establishes the relationship between two records.
The relationship is established by setting the foreign key value(s) in one record to be the corresponding primary key value(s) in the other record. The record with the foreign key will be saved into database without performing validation.
If the relationship involves a junction table, a new row will be inserted into the junction table which contains the primary key values from both records.
This method requires that the primary key value is not null
.
The case sensitive name of the relationship, e.g. orders
for a relation defined via getOrders()
method.
The record to be linked with the current one.
$extraColumns arrayAdditional column values to be saved into the junction table. This parameter is only meaningful for a relationship involving a junction table (i.e., a relation set with yii\db\ActiveQueryInterface::via()).
public function link($name, $model, $extraColumns = []);
Populates the named relation with the related records.
Note that this method does not check if the relation exists or not.
public function populateRelation($name, $records);
Returns the primary key name(s) for this AR class.
Note that an array should be returned even when the record only has a single primary key.
For the primary key value see getPrimaryKey() instead.
public static function primaryKey();
Saves the current record.
This method will call insert() when isNewRecord is true, or update() when isNewRecord is false.
For example, to save a customer record:
$customer = new Customer;
$customer->name = $name;
$customer->email = $email;
$customer->save();
public abstract boolean save ( $runValidation = true, $attributeNames = null ) $runValidation boolean
Whether to perform validation (calling validate()) before saving the record. Defaults to true
. If the validation fails, the record will not be saved to the database and this method will return false
.
List of attribute names that need to be saved. Defaults to null
, meaning all attributes that are loaded from DB will be saved.
Whether the saving succeeded (i.e. no validation errors occurred).
public function save($runValidation = true, $attributeNames = null);
public abstract void setAttribute ( $name, $value ) $name string
The attribute name.
$value mixedThe attribute value.
public function setAttribute($name, $value);
Destroys the relationship between two records.
The record with the foreign key of the relationship will be deleted if $delete
is true. Otherwise, the foreign key will be set null
and the record will be saved without validation.
The case sensitive name of the relationship, e.g. orders
for a relation defined via getOrders()
method.
The model to be unlinked from the current one.
$delete booleanWhether to delete the model that contains the foreign key. If false, the model's foreign key will be set null
and saved. If true, the model containing the foreign key will be deleted.
public function unlink($name, $model, $delete = false);
Saves the changes to this active record into the database.
Usage example:
$customer = Customer::findOne($id);
$customer->name = $name;
$customer->email = $email;
$customer->update();
public abstract integer|boolean update ( $runValidation = true, $attributeNames = null ) $runValidation boolean
Whether to perform validation (calling validate()) before saving the record. Defaults to true
. If the validation fails, the record will not be saved to the database and this method will return false
.
List of attributes that need to be saved. Defaults to null
, meaning all attributes that are loaded from DB will be saved.
The number of rows affected, or false
if validation fails or updating process is stopped for other reasons. Note that it is possible that the number of rows affected is 0, even though the update execution is successful.
public function update($runValidation = true, $attributeNames = null);
Updates records using the provided attribute values and conditions.
For example, to change the status to be 1 for all customers whose status is 2:
Customer::updateAll(['status' => 1], ['status' => '2']);
public abstract static integer updateAll ( $attributes, $condition = null ) $attributes array
Attribute values (name-value pairs) to be saved for the record. Unlike update() these are not going to be validated.
$condition mixedThe condition that matches the records that should get updated. Please refer to yii\db\QueryInterface::where() on how to specify this parameter. An empty condition will match all records.
return integerThe number of rows updated
public static function updateAll($attributes, $condition = null);
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4