/** * @group count * @covers Query::getQuery */ function testCondition() { $c = new Condition(); $c->add('fun', 'good'); $c->addOr('foo', 'bar'); $c->add('awesome', array('good', 'awesome', 'nice')); $c->addOr('do', 'stuff'); $c2 = new Condition('bah', 'blacksheep'); $c2->addOr('empty', null); $c->addOr($c2); // shouldn't do anything $c->add(null); $stmnt = $c->getQueryStatement(); $stmnt->setConnection(DBManager::getConnection()); $q = "\n\t`fun` = 'good'\n\tOR `foo` = 'bar'\n\tAND `awesome` IN ('good','awesome','nice')\n\tOR `do` = 'stuff'\n\tOR (\n\t`bah` = 'blacksheep'\n\tOR `empty` IS NULL )"; $this->assertEquals($q, $stmnt->__toString()); }
/** * Shortcut to adding an OR statement to the Query's WHERE Condition. * @return Query * @param $column Mixed * @param $value Mixed[optional] * @param $operator String[optional] * @param $quote Int[optional] */ function addOr($column, $value = null, $operator = self::EQUAL, $quote = null) { if (func_num_args() === 1) { $this->_where->addOr($column); } else { $this->_where->addOr($column, $value, $operator, $quote); } return $this; }