Есть ли способ в Zend увеличить целое число, хранящееся в столбце MySQL, на 1?
Спасибо
редактировать:
Мой текущий код выглядит так:
$row = $this->find($imageId)->current();
$row->votes = // THIS IS WHERE I WANT TO SAY INCREMENT
$row->save();
Есть ли способ в Zend увеличить целое число, хранящееся в столбце MySQL, на 1?
Спасибо
редактировать:
Мой текущий код выглядит так:
$row = $this->find($imageId)->current();
$row->votes = // THIS IS WHERE I WANT TO SAY INCREMENT
$row->save();
Могу ли я предложить следующее предложение
$row->votes++;
Да, есть. Вот пример использования продуктов и увеличения поля количества:
$table = 'products';
$data = array('prd_qnty' => new Zend_Db_Expr('prd_qnty + 1'));
$where[] = $db->quoteInto('pr_id = ?', $this->pr_id);
$db->update($table, $data, $where);
$row->votes++;
было бы правильно. В будущем это поможет показать связанный код в вашем вопросе, чтобы мы могли помочь вам найти наилучшее возможное решение.
- person RDL; 23.03.2011
voices++ не защищает от условий гонки от других запросов, поэтому желательно иметь решение для базы данных.
Например: представьте, что два запроса приходят почти одновременно.
1st request loads object - votes is 500
2nd request loads object - votes is 500
1st increments value in memory - votes is 501
2nd increments value in memory - votes is 501
1st saves to db - votes is 501
2nd saves to db - votes is 501 (should be 502)