たとえば、次のテキストを含むテキストフィールドがあります:-
「ヨークシャー プディング生地にソーセージを入れた伝統的な英国料理で、通常は野菜と肉汁が添えられます。」
このテキスト フィールドは、ID を使用してアイテム レコードを単純に更新する形式になっています。テキストフィールドの一部を編集して「and gravy.」を置き換えます。「ユーモラス」で。テキストフィールドに含まれるようになりました
「ヨークシャー プディング生地にソーセージを入れた伝統的な英国料理で、通常は野菜とユーモアを添えて出されます。」
次の例外が発生します:-
致命的なエラー: C:\Projects\nitrous\lightweight\system\database\Doctrine\Query\Abstract.php:780 のメッセージ「Unknown component alias humous」を含む例外「Doctrine_Query_Exception」がキャッチされませんでした: 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 in 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のバグですか、それとも何かを見逃したのでしょうか?