本文整理汇总了PHP中TranslationPeer::addOrUpdateString方法的典型用法代码示例。如果您正苦于以下问题:PHP TranslationPeer::addOrUpdateString方法的具体用法?PHP TranslationPeer::addOrUpdateString怎么用?PHP TranslationPeer::addOrUpdateString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TranslationPeer
的用法示例。
在下文中一共展示了TranslationPeer::addOrUpdateString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveData
public function saveData($aTagData)
{
$aTagData['name'] = StringUtil::normalize($aTagData['name']);
if ($this->iTagId === null) {
$oTag = new Tag();
} else {
$oTag = TagQuery::create()->findPk($this->iTagId);
}
$this->validate($aTagData);
if (!Flash::noErrors()) {
throw new ValidationException();
}
$sStringName = "tag.{$aTagData['name']}";
if ($oTag->getName() !== $aTagData['name']) {
//Rename Strings for the tag
$sOldStringName = "tag.{$oTag->getName()}";
foreach (TranslationQuery::create()->filterByStringKey($sOldStringName)->find() as $oString) {
$sLanguageId = $oString->getLanguageId();
//You can’t technically rename strings because string_key is the PKEY so we delete it and re-generate
$oString->delete();
$oString = new Translation();
$oString->setStringKey($sStringName);
$oString->setLanguageId($sLanguageId);
$oString->save();
}
$oTag->setName($aTagData['name']);
}
foreach ($aTagData['edited_languages'] as $iIndex => $sLanguageId) {
TranslationPeer::addOrUpdateString($sStringName, $aTagData['text'][$iIndex], $sLanguageId);
}
$oTag->save();
}