gpt4 book ai didi

Yii2 使用 Gii 模型生成器在模型中创建自定义函数

转载 作者:行者123 更新时间:2023-12-02 09:15:35 26 4
gpt4 key购买 nike

我正在研究使用 Gii 生成模型的 Yii2。我想做的是自定义我的模型,使它们都具有以下功能

public static function getFoobarList() 
{
$models = Foobar::find()->all();
return ArrayHelper::map($models, 'id', 'foobar');
}

其中 Foobar 是各个模型的名称。

提前谢谢你。

最佳答案

您可以 create a custom template对于你的模型,gii 可以用来生成你的类。

类似下面的内容,添加到文件 /vendor/yiisoft/yii2-gii/generators/model/default/model.php 副本的顶部,新文件存储在,例如,@app/myTemplates/model/default

/**
* your doc string
*/
public static function get<?php echo $className; ?>List()
{
$models = static::find()->all();
return ArrayHelper::map($models, 'id', static::tableName());
}

会将您正在寻找的方法添加到使用新模板创建的任何模型。

在你的配置中类似

// config/web.php for basic app
// ...
if (YII_ENV_DEV) {
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'],
'generators' => [ //here
'model' => [ // generator name
'class' => 'yii\gii\generators\model\Generator', // generator class
'templates' => [ //setting for out templates
'myModel' => '@app/myTemplates/model/default', // template name => path to template
]
]
],
];
}

将允许您在使用 gii 时从“代码模板”菜单中选择您的自定义模板。

关于Yii2 使用 Gii 模型生成器在模型中创建自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47530934/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com