Inheritance: extends BaseDriver
Example #1
0
 public function testInsertWithQuestionMark()
 {
     $driver = new MySQLDriver();
     $driver->setQMarkParamMarker();
     $args = new ArgumentArray();
     $query = new InsertQuery();
     $query->option('LOW_PRIORITY', 'IGNORE');
     $query->insert(['name' => new Bind('name', 'John'), 'confirmed' => new Bind('confirmed', true)])->into('users');
     $query->returning('id');
     $sql = $query->toSql($driver, $args);
     $this->assertEquals('INSERT LOW_PRIORITY IGNORE INTO users (name,confirmed) VALUES (?,?)', $sql);
 }
Example #2
0
 public function testSimpleJoin()
 {
     $args = new ArgumentArray();
     $driver = new MySQLDriver();
     $driver->setQuoteColumn(true);
     $query = new SelectQuery();
     ok($query);
     $query->select(array('u.id', 'u.name', 'u.phone', 'u.address', 'p.title' => 'post_title'))->from('users', 'u')->join('posts')->as('p')->on('p.user_id = u.id');
     $query->where('u.name LIKE :name', [':name' => '%John%']);
     ok($query->getJoins());
     $sql = $query->toSql($driver, $args);
     is('SELECT u.id, u.name, u.phone, u.address, p.title AS post_title FROM users AS u JOIN posts AS p ON (p.user_id = u.id) WHERE u.name LIKE :name', $sql);
 }
Example #3
0
 public function testSetQuoter()
 {
     $conn = $this->createConnection('mysql');
     $driver = new MySQLDriver();
     $driver->setQuoter(function ($str) use($conn) {
         return $conn->quote($str);
     });
     $this->assertEquals("'str'", $driver->quote('str'));
 }