Class yii\test\ActiveFixture

继承yii\test\ActiveFixture » yii\test\BaseActiveFixture » yii\test\DbFixture » yii\test\Fixture » yii\base\Component » yii\base\BaseObject
实现ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable
Uses Traitsyii\base\ArrayAccessTrait, yii\test\FileFixtureTrait
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/test/ActiveFixture.php

ActiveFixture represents a fixture backed up by a ActiveRecord class or a database table.

Either $modelClass or $tableName must be set. You should also provide fixture data in the file specified by $dataFile or overriding getData() if you want to use code to generate the fixture data.

When the fixture is being loaded, it will first call resetTable() to remove any existing data in the table. It will then populate the table with the data returned by getData().

After the fixture is loaded, you can access the loaded data via the $data property. If you set $modelClass, you will also be able to retrieve an instance of $modelClass with the populated data via getModel().

For more details and usage information on ActiveFixture, see the guide article on fixtures.

公共属性

隐藏继承的属性

属性类型描述定义在
$behaviors yii\base\Behavior[] 附加到此组件的行为列表. yii\base\Component
$data array The data rows. yii\test\BaseActiveFixture
$dataDirectory string The directory path or path alias that contains the fixture data yii\test\FileFixtureTrait
$dataFile string|boolean The file path or path alias of the data file that contains the fixture data to be returned by getData(). yii\test\ActiveFixture
$db yii\db\Connection|array|string The DB connection object or the application component ID of the DB connection. yii\test\DbFixture
$depends array The fixtures that this fixture depends on. yii\test\Fixture
$iterator ArrayIterator An iterator for traversing the cookies in the collection. yii\base\ArrayAccessTrait
$modelClass string The AR model class associated with this fixture. yii\test\BaseActiveFixture
$tableName string The name of the database table that this fixture is about. yii\test\ActiveFixture
$tableSchema yii\db\TableSchema The schema information of the database table associated with this fixture. yii\test\ActiveFixture

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的指定的方法. yii\base\Component
__clone() 在通过克隆现有对象创建对象之后调用此方法. yii\base\Component
__construct() 构造函数. yii\base\BaseObject
__get() 返回组件属性的值. yii\base\Component
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\Component
__set() 设置组件属性的值. yii\base\Component
__unset() 将组件属性设置为null. yii\base\Component
afterLoad() This method is called AFTER all fixture data have been loaded for the current test. yii\test\Fixture
afterUnload() This method is called AFTER all fixture data have been unloaded for the current test. yii\test\Fixture
attachBehavior() 将行为附加到此组件. yii\base\Component
attachBehaviors() 将行为列表附加到组件. yii\base\Component
beforeLoad() This method is called BEFORE any fixture data is loaded for the current test. yii\test\Fixture
beforeUnload() This method is called BEFORE any fixture data is unloaded for the current test. yii\test\Fixture
behaviors() 返回此组件应该具有的行为列表. yii\base\Component
canGetProperty() 返回一个值, 指示属性是否可读取. yii\base\Component
canSetProperty() 返回一个值, 指示属性是否可设置. yii\base\Component
className() 返回此类的完全限定名称. yii\base\BaseObject
count() Returns the number of data items. yii\base\ArrayAccessTrait
detachBehavior() 从组件中分离一个行为. yii\base\Component
detachBehaviors() 分离组件中的所有行为. yii\base\Component
ensureBehaviors() 确保在 behaviors() 中声明的行为已附加到此组件. yii\base\Component
getBehavior() 返回指定的行为对象. yii\base\Component
getBehaviors() 返回附加到此组件的所有行为. yii\base\Component
getIterator() Returns an iterator for traversing the data. yii\base\ArrayAccessTrait
getModel() Returns the AR model by the specified model name. yii\test\BaseActiveFixture
getTableSchema() yii\test\ActiveFixture
hasEventHandlers() 返回一个值, 指示是否有任何处理程序附加到指定的事件. yii\base\Component
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\Component
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\Component
init() 初始化对象. yii\test\ActiveFixture
load() Loads the fixture. yii\test\ActiveFixture
off() 从该组件分离现有的事件处理程序. yii\base\Component
offsetExists() This method is required by the interface ArrayAccess. yii\base\ArrayAccessTrait
offsetGet() This method is required by the interface ArrayAccess. yii\base\ArrayAccessTrait
offsetSet() This method is required by the interface ArrayAccess. yii\base\ArrayAccessTrait
offsetUnset() This method is required by the interface ArrayAccess. yii\base\ArrayAccessTrait
on() 将事件处理程序附加到事件. yii\base\Component
trigger() 触发事件. yii\base\Component
unload() Unloads the fixture. yii\test\ActiveFixture

受保护的方法

隐藏继承的方法

方法描述定义在
getData() Returns the fixture data. yii\test\ActiveFixture
loadData() Returns the fixture data. yii\test\FileFixtureTrait
resetTable() Removes all existing data from the specified table and resets sequence number to 1 (if any). yii\test\ActiveFixture

属性详情

$dataFile public 属性

The file path or path alias of the data file that contains the fixture data to be returned by getData(). If this is not set, it will default to FixturePath/data/TableName.php, where FixturePath stands for the directory containing this fixture class, and TableName stands for the name of the table associated with this fixture. You can set this property to be false to prevent loading any data.

public string|boolean $dataFile null
$tableName public 属性

The name of the database table that this fixture is about. If this property is not set, the table name will be determined via $modelClass.

参见 $modelClass.

public string $tableName null
$tableSchema public 只读 属性

The schema information of the database table associated with this fixture.

方法详情

getData() protected 方法

Returns the fixture data.

The default implementation will try to return the fixture data by including the external file specified by $dataFile. The file should return an array of data rows (column name => column value), each corresponding to a row in the table.

If the data file does not exist, an empty array will be returned.

protected array getData ( )
return array

The data rows to be inserted into the database table.

getTableSchema() public 方法

public yii\db\TableSchema getTableSchema ( )
return yii\db\TableSchema

The schema information of the database table associated with this fixture.

throws yii\base\InvalidConfigException

if the table does not exist

init() public 方法

初始化对象.

在使用给定的配置初始化对象之后, 在构造函数的末尾调用此方法.

public void init ( )
load() public 方法

Loads the fixture.

It populate the table with the data returned by getData().

If you override this method, you should consider calling the parent implementation so that the data returned by getData() can be populated into the table.

public void load ( )
resetTable() protected 方法

Removes all existing data from the specified table and resets sequence number to 1 (if any).

This method is called before populating fixture data into the table associated with this fixture.

protected void resetTable ( )
unload() public 方法

Unloads the fixture.

This method is called after every test method finishes. You may override this method to perform necessary cleanup work for the fixture.

public void unload ( )