yii2将消息提取到db
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了yii2将消息提取到db相关的知识,希望对你有一定的参考价值。
我正在使用trntv / Yii2-starter-kit。如何将消息提取到DB?我的配置:
'*'=> [
'class' => 'yiii18nDbMessageSource',
'sourceMessageTable'=>'{{%i18n_source_message}}',
'messageTable'=>'{{%i18n_message}}',
'enableCaching' => YII_ENV_DEV,
'cachingDuration' => 3600,
'on missingTranslation' => ['ackendmodulesi18nModule', 'missingTranslation']
]
我的I18N档案:
'sourcePath'=>Yii::getAlias('@base'),
'languages' => ['uz','ru'],
'translator' => 'Yii::t',
'sort' => false,
'removeUnused' => true,
'only' => [
'*.php',
],
'ignoreCategories' => ['yii'],
我试过了:
php yii message @common/config/messages/_base.php
和php yii消息但总是将所有消息写入文件:vendor / yiisoft / yii2 / messages。如何将消息导出到DB?有人帮忙吗?
答案
你需要使用以下CONSOLE-DOCS
有一个ExtendedMessageControler
类。此控制器扩展默认的MessageController
以提供一些有用的操作:
- 要在不同的消息源之间迁移消息,请执行以下常见操作
php console/yii message/migrate @common/config/messages/php.php @common/config/messages/db.php
这意味着您应该在@common/confiog/messages/
文件夹中有一个名为db.php
的文件,该文件将用于创建message
和source_message
表,文件的内容应该是
<?php
return yiihelpersArrayHelper::merge(
require(__DIR__ . '/_base.php'),
[
// 'db' output format is for saving messages to database.
'format' => 'db',
// Connection component to use. Optional.
'db' => 'db',
// Custom source message table. Optional.
'sourceMessageTable' => '{{%i18n_source_message}}',
// Custom name for translation message table. Optional.
'messageTable' => '{{%i18n_message}}',
]
);
消息源目录将由包含以下内容的php.php
目录中的@common/config/messages
文件确定
<?php
return yiihelpersArrayHelper::merge(
require(__DIR__ . '/_base.php'),
[
// 'php' output format is for saving messages to php files.
'format' => 'php',
// Root directory containing message translations.
'messagePath' => Yii::getAlias('@common/messages'),
// boolean, whether the message file should be overwritten with the merged messages
'overwrite' => true,
]
);
您只需运行migration命令即可创建表,并将消息导出到相应的表中。
有关更多详细信息,请参阅SOURCE
的actionMigrate()
。
以上是关于yii2将消息提取到db的主要内容,如果未能解决你的问题,请参考以下文章
Yii2异常'yii db Exception',消息'找不到驱动程序'
如何在 Yii2 中将带有 kartik-Select2 小部件项目的选择保存到 DB?