for_table() public static method

Despite its slightly odd name, this is actually the factory method used to acquire instances of the class. It is named this way for the sake of a readable interface, ie ORM::for_table('table_name')->find_one()-> etc. As such, this will normally be the first method called in a chain.
public static for_table ( string $table_name, string $connection_name = self::DEFAULT_CONNECTION ) : ORM
$table_name string
$connection_name string Which connection to use
return ORM
Beispiel #1
0
 public function testInstanceIdColumnThree()
 {
     $this->setUpIdColumnOverrides();
     ORM::for_table('widget_nozzle')->use_id_column('new_id')->find_one(5);
     $expected = "SELECT * FROM `widget_nozzle` WHERE `new_id` = '5' LIMIT 1";
     $this->assertEquals($expected, ORM::get_last_query());
     $this->tearDownIdColumnOverrides();
 }
Beispiel #2
0
 public function testQueryGenerationOnlyOccursOnceWithMultipleConnections()
 {
     // Test caching with multiple connections (also a bit of a hack)
     ORM::for_table('widget', self::ALTERNATE)->where('name', 'Steve')->where('age', 80)->find_one();
     ORM::for_table('widget', self::ALTERNATE)->where('name', 'Tom')->where('age', 120)->find_one();
     $expected = ORM::get_last_query();
     ORM::for_table('widget', self::ALTERNATE)->where('name', 'Steve')->where('age', 80)->find_one();
     // this shouldn't run a query!
     $this->assertEquals($expected, ORM::get_last_query(self::ALTERNATE));
 }
 public function testCallingMethods()
 {
     $result_set = array('item' => ORM::for_table('test'), 'item2' => ORM::for_table('test'));
     $ResultSet = new ResultSet($result_set);
     $ResultSet->set('field', 'value')->set('field2', 'value');
     foreach ($ResultSet as $record) {
         $this->assertTrue(isset($record->field));
         $this->assertSame($record->field, 'value');
         $this->assertTrue(isset($record->field2));
         $this->assertSame($record->field2, 'value');
     }
 }
 public function testFindOneOverDifferentConnections()
 {
     ORM::for_table('widget')->find_one();
     $statementOne = ORM::get_last_statement();
     $this->assertInstanceOf('MockPDOStatement', $statementOne);
     ORM::for_table('person', self::ALTERNATE)->find_one();
     $statementOne = ORM::get_last_statement();
     // get_statement is *not* per connection
     $this->assertInstanceOf('MockDifferentPDOStatement', $statementOne);
     $expected = "SELECT * FROM `widget` LIMIT 1";
     $this->assertNotEquals($expected, ORM::get_last_query());
     // Because get_last_query() is across *all* connections
     $this->assertEquals($expected, ORM::get_last_query(ORM::DEFAULT_CONNECTION));
     $expectedToo = "SELECT * FROM `person` LIMIT 1";
     $this->assertEquals($expectedToo, ORM::get_last_query(self::ALTERNATE));
 }
Beispiel #5
0
 public function testGetLastPdoStatement()
 {
     ORM::for_table('widget')->where('name', 'Fred')->find_one();
     $statement = ORM::get_last_statement();
     $this->assertInstanceOf('MockPDOStatement', $statement);
 }
Beispiel #6
0
 public function testIssue90UsingSetExprAloneDoesTriggerQueryGeneration()
 {
     $widget = ORM::for_table('widget')->find_one(1);
     $widget->set_expr('added', 'NOW()');
     $widget->save();
     $expected = "UPDATE `widget` SET `added` = NOW() WHERE `id` = '1'";
     $this->assertEquals($expected, ORM::get_last_query());
 }
 public function testLimit()
 {
     ORM::for_table('widget')->limit(5)->find_many();
     $expected = 'SELECT TOP 5 * FROM "widget"';
     $this->assertEquals($expected, ORM::get_last_query());
 }