У меня есть текстовое поле, которое содержит, например, следующий текст: -
«Традиционное английское блюдо, состоящее из сосисок в йоркширском пудинге, обычно подается с овощами и соусом».
Это текстовое поле находится в форме, которая просто обновляет запись элемента, используя его идентификатор. Если я редактирую часть текстового поля и заменяю «и соус». с "гуманным". Так что текстовое поле теперь содержит
«Традиционное английское блюдо, состоящее из колбасок в йоркширском пудинге, обычно подается с овощами и гумусом».
Я получаю следующее исключение: -
Неустранимая ошибка: необработанное исключение
'Doctrine_Query_Exception' с
сообщение 'Неизвестный псевдоним компонента
смешной
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php: 780
Трассировки стека:
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php (767):
Doctrine_Query_Abstract-> getQueryComponent ('humous') C: \ Projects \ nitrous \ lightweight \ system \ database \ Doctrine \ Query \ Set.php (58):
Doctrine_Query_Abstract-> getAliasDeclaration ( 'гумусный')
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php (2092):
Doctrine_Query_Set-> parse ('i.details =
«А ...»)
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query.php (1058):
Doctrine_Query_Abstract -> _ processDqlQueryPart ('set', Array)
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php (971):
Doctrine_Query-> getSqlQuery (Array)
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php (1030):
Doctrine_Query_Abstract -> _ выполнение (Array)
C: \ Projects \ закиси \ облегченной \ система \ заявл
в
C: \ Projects \ закиси \ легкий \ система \ базы данных \ Doctrine \ Query \ Abstract.php
по линии 780
Я использую Doctrine 1.0.6, подключенную к CodeIgniter 1.7.0, если кому-то интересно.
Мой доктринальный запрос, который фактически выполняет обновление, выглядит следующим образом: -
public function updateItems($id, $arrayItem) {
$query = new Doctrine_Query();
$query->update('Item i');
foreach($arrayItem as $key => $value) {
$query->set('i.'.$key, "'".$value."'");
}
$query->where('i.id = ?', $id);
return $query->execute();
}
Это кажется странным, потому что, если я заменю всю строку «Традиционное английское блюдо, включающее сосиски в йоркширском пудинге, обычно подается с овощами и гумусом». с чем-то совершенно другим, таким как просто «тест», это не вызывает исключения и работает просто отлично. Это сбивает меня с толку ... это ошибка в Doctrine или я что-то пропустил?