我有一个文本字段,其中包含例如以下文本:-
“一种传统的英式菜肴,包括约克郡布丁面糊中的香肠,通常与蔬菜和肉汁一起食用。”
此文本字段采用一种仅使用其 ID 更新项目记录的形式。如果我编辑部分文本字段并替换“和肉汁”。用“幽默”。这样文本字段现在包含
“一种传统的英式菜肴,包括约克郡布丁面糊中的香肠,通常与蔬菜和幽默一起食用。”
我得到以下异常: -
致命错误:C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php:780 中未捕获的异常 'Doctrine_Query_Exception' 和消息 'Unknown component alias humous' 堆栈跟踪:C:\Projects\nitrous\lightweight \system\database\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('humous') C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php(2092): Doctrine_Query_Set->parse('i.details = 'A ...') C :\Projects\nitrous\lightweight\system\database\Doctrine\Query.php(1058): Doctrine_Query_Abstract->_processDqlQueryPart('set', Array) C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php(971): Doctrine_Query->getSqlQuery(Array) C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php( 1030): Doctrine_Query_Abstract->_execute(Array) C:\Projects\nitrous\lightweight\system\appl 在 C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php 在第 780 行
如果有人感兴趣,我正在使用与 CodeIgniter 1.7.0 挂钩的 Doctrine 1.0.6。
我实际执行更新的学说查询如下所示:-
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 中的错误还是我错过了什么?