В FileZilla 2.2.32 пойдите Редактирование > Настройки > настройки Передачи файлов > ASCII/двоичный файл. Установите его на всегда двоичный файл: это должно добиться цели.
В FileZilla 3.5.0 установка находится в Редактировании> Настройки> Передачи> Типы файлов> тип передачи По умолчанию> Двоичный файл.
Подумайте, что я пойду на путь Zed, но для полноты:
Метод прослушивателя событий для удаления (и выбора) для мягкого удаления поведения содержит:
if ( ! $query->contains($field)) {
// do the magic stuff to covert the query to respect softdelete
}
Это означает, что если вы явно упомянуете поле в Запрос, это не примет преобразование в запрос.
Итак, если вы сделаете:
$q = Doctrine_Query::create()
->delete('Table t')
->where('t.id = ? AND t.deleted != 2 ', 1);
Это не применит мягкие материалы удаления и фактически удаляют запись. Обратите внимание, что вы можете сделать что-нибудь с T.Deleted, я только что сделал что-то, что всегда будет правдой. Псевдоним («т») тоже важно для этого.
Этот трюк работает для выбора тоже, где я обычно использовал его раньше.
Как я говорю, хотя, я думаю, что его приятнее сделать:
$old_dqlc = Doctrine_Manager::getInstance()->getAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS);
Doctrine_Manager::getInstance()->setAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS, false);
$record->delete();
Doctrine_Manager::getInstance()->setAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS, $old_dqlc);
, в частности, вы все равно можете использовать метод delete (), а не вручную создать запрос. Один плюс для метода запроса заключается в том, что если у вас есть другие поведения, прикрепленные к записи, они все равно будут соблюдаться.
Попробуйте вызвать это, он должен отключить обработку поведения.
$manager->setAttribute(Doctrine::ATTR_USE_DQL_CALLBACKS, false);
В качестве грязного способа вы можете сгенерировать запрос SQL, который удаляет запись из таблицы.
текст ссылки Я бы подумал, что эта функция и установка для обратных вызовов use dql значения false, как и в диспетчере, должны помочь :).
гм... поведение SoftDelete включает гораздо более приятный способ сделать это... просто вызовите
$record->hardDelete();
Хотел согласиться с Джошуа Коуди, что лучше всего будет использовать
$record->hardDelete()
Однако я также хотел добавить сюда, поскольку это один из первых результатов в Google для отсоединения поведения в доктрине, что самый простой способ отсоединить поведение для «выбирает» - это просто включить «удаленный_ат» (или то, что вы назвали свое поле, как в запросе. Слушатель смотрит, включено ли оно, и если да не фильтрует удаленные записи.
Doctrine_Core::getTable('Record')->createQuery()->select('id, etc1, etc2')->addSelect('deleted_at')->execute();
вернет удаленные записи.