В documenation вZend Db обновление и метод удаления и цитирование
Поскольку метод обновления таблицы() прокси для метода обновления адаптера базы данных(), то второй аргумент может быть массивом выражений SQL. Выражения объединяются в виде булевых терминов с использованием оператора И. Примечание. Значения и идентификаторы в выражении SQL не указаны для вас. Если у вас есть значения или идентификаторы, требующие цитирования, вы несете ответственность за это. Используйте методы quote(), quoteInto() и quoteIdentifier() адаптера базы данных.
Но когда я проверил метод обновления источника, и я увидел что-то странное (цепь метода выполняющийся):
- Zend_Db_Table_Abstract :: Update()
- Zend_Db_Adapter_Abstract :: Update()
- Zend_Db_Adapter_Abstract :: _ WhereExpr()
- Zend_Db_Adapter_Abstract :: quoteInto()
и в Zend_Db_Adapter_Abstract :: quoteInto() есть цитирование. Может ли кто-нибудь объяснить это? Может быть, документация устарела?
Но $ также цитируется. В _whereExpr() выполняется выполнение метода quoteInto(). – PaulP
Да, мой пример выше также может быть записан как 'array ('id', $ id)', который затем будет указан. Я думаю, что примечание заключается в том, чтобы рассказать людям, что они не могут просто передать строку, например 'id = $ id'. –
Я думаю, что вместо этого массив ('id', $ id) должен быть массивом ('id =?' => $ Id). Правильно? – PaulP