On Tue, Dec 7, 2010 at 4:49 PM, Hector Virgen <[email protected]> wrote:
> Hi Fred,
> From the documentation:
>>
>> If you provide an array of arrays as the third argument, the values will
>> be automatically quoted into the keys. These will then be joined together as
>> terms, separated by AND operators.
>
> http://framework.zend.com/manual/en/zend.db.adapter.html#zend.db.adapter.write.update
>
> Although I think the wording is a bit off. You don't need to pass in an
> "array of arrays", but instead just an associative array. So your call would
> look like this:
> $this->update($data, array('id = ?' => $obj->id));
> I hope this helps!

Hello Hector,

thanks for showing the other way :). I've just discovered it somewhere too.

For me, it would be more logical to pass where statement with
placeholders and an array with corresponding values.

$this->update($data, 'id = ? OR url = ?', array($obj->id, $obj->url));

Fred

> --
> Hector Virgen
> Sr. Web Developer
> http://www.virgentech.com
>
>
> On Mon, Dec 6, 2010 at 11:59 AM, Fred Garlov <[email protected]>
> wrote:
>>
>> Hello,
>>
>> is there any reason for not having auto quoting of query parameters
>> for delete() and update() methods?
>>
>> $this->update($data, $this->getAdapter()->quoteInto('id = ?', $obj->id));
>>
>> I mean, we have it for where() method: $query =
>> $this->select()->where('id = ?', $value);
>>
>> IMHO, it would be uniformly and easily like this:
>>
>> $this->update($data, 'id = ?', $obj->id);
>>
>> Regards, Fred
>
>

Reply via email to