Как удалить только один перевод в TranslateBehavior CakePHP? - PullRequest
1 голос
/ 10 июля 2011

У меня есть модель с приложением TranslateBehavior, и мне интересно, есть ли способ удалить только один перевод определенного элемента и использовать только стандартные методы модели (= не предоставлять SQL-запрос для таблицы i18n явно, потому что я хочу бытьабсолютно не зависит от движка БД) и не ставить его пустым, но действительно удалить.

Простой пример ситуации:
В БД есть статья с переводами на английский и немецкий языки.Однажды редактор решает не предоставлять эту статью на немецком языке и хочет удалить ее из БД (но английская версия все еще должна быть доступна).И теперь появляется вопрос, который я написал выше.

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 10 июля 2011

На данный момент после изучения afterSave обратного вызова в классе поведения я вижу только какой-то обходной путь - использование базовой модели I18nModel , определенной в cake / libs / model /behavior/translate.php (внизу файла) и используйте метод delete с ручной настройкой всех условий, которые обычно устанавливаются с помощью translateBehavior.

Модель I18nModel может использоваться стандартным образом:

    var $uses = array('SomeModelUsingTranlateBehaviour','I18nModel');
...