function DatabaseUpdateTestCase::testExpressionUpdate in Drupal 7
Test updating with expressions.
File
- modules/
simpletest/ tests/ database_test.test, line 863
Class
- DatabaseUpdateTestCase
- Update builder tests.
Code
function testExpressionUpdate() {
// Set age = 1 for a single row for this test to work.
db_update('test')
->condition('id', 1)
->fields(array(
'age' => 1,
))
->execute();
// Ensure that expressions are handled properly. This should set every
// record's age to a square of itself, which will change only three of the
// four records in the table since 1*1 = 1. That means only three records
// are modified, so we should get back 3, not 4, from execute().
$num_rows = db_update('test')
->expression('age', 'age * age')
->execute();
$this
->assertIdentical($num_rows, 3, 'Number of affected rows are returned.');
}