Yii2 - 一次从不同模块加载固定装置

Yii2 - Load fixtures from different modules at once

我在几个模块中都有固定装置,我希望能够一次加载它们。这些灯具位于具有以下命名空间的模块中:

backend\modules\currency\fixtures
backend\modules\invoiceType\fixtures
backend\modules\unit\fixtures
...

我知道我可以使用此命令从模块加载夹具;

yii fixture * --namespace=backend\modules\currency\fixtures

我也知道我可以将所有命名空间放在 globalFixtures 中,但我认为这不是正确的方法。

有什么方法可以进行一些配置,以便我可以一次从所有指定模块加载所有固定装置?

基本上我正在寻找类似于 migrationPath 的迁移,但可用于固定装置。

据我所知,您有 3 种方法可以做到这一点。

使用globalFixtures

我看不出有什么不妥。此功能正是为此而设计的。

编写自定义脚本

您可以使用一些配置数组多次 运行 编写自定义脚本 yii fixture * --namespace=

使用依赖项

您可以创建一个主要灯具或选择一个作为主要灯具并使用 yii\test\Fixture::$depends 属性 使其依赖于所有其他灯具。您可以在文档页面 here 上阅读更多内容。看看他们在哪里给出了使用 $depends.

的例子

希望以上内容对您有所帮助。