get() public method

If no field is passed, then returns array of all field values.
public get ( mixed $field = null ) : mixed
$field mixed
return mixed
コード例 #1
0
ファイル: JoinSQLTest.php プロジェクト: atk4/data
 public function testJoinLoading()
 {
     $a = ['user' => [1 => ['id' => 1, 'name' => 'John', 'contact_id' => 1], 2 => ['id' => 2, 'name' => 'Peter', 'contact_id' => 1], 3 => ['id' => 3, 'name' => 'Joe', 'contact_id' => 2]], 'contact' => [1 => ['id' => 1, 'contact_phone' => '+123'], 2 => ['id' => 2, 'contact_phone' => '+321']]];
     $this->setDB($a);
     $db = new Persistence_SQL($this->db->connection);
     $m_u = new Model($db, 'user');
     $m_u->addField('name');
     $j = $m_u->join('contact');
     $j->addField('contact_phone');
     $m_u->load(1);
     $this->assertEquals(['name' => 'John', 'contact_id' => 1, 'contact_phone' => '+123', 'id' => 1], $m_u->get());
     $m_u->load(3);
     $this->assertEquals(['name' => 'Joe', 'contact_id' => 2, 'contact_phone' => '+321', 'id' => 3], $m_u->get());
     $m_u->tryLoad(4);
     $this->assertEquals(['name' => null, 'contact_id' => null, 'contact_phone' => null, 'id' => null], $m_u->get());
 }
コード例 #2
0
ファイル: BusinessModelTest.php プロジェクト: atk4/data
 public function testDirty()
 {
     $m = new Model();
     $m->addField('name');
     $m->data = ['name' => 5];
     $m['name'] = 5;
     $this->assertEquals([], $m->dirty);
     $m['name'] = 10;
     $this->assertEquals(['name' => 5], $m->dirty);
     $m['name'] = 15;
     $this->assertEquals(['name' => 5], $m->dirty);
     $m['name'] = 5;
     $this->assertEquals([], $m->dirty);
     $m['name'] = '5';
     $this->assertSame(5, $m->dirty['name']);
     $m['name'] = '6';
     $this->assertSame(5, $m->dirty['name']);
     $m['name'] = '5';
     $this->assertSame(5, $m->dirty['name']);
     $m['name'] = '5.0';
     $this->assertSame(5, $m->dirty['name']);
     $m->dirty = [];
     $m->data = ['name' => ''];
     $m['name'] = '';
     $this->assertEquals([], $m->dirty);
     $m->data = ['name' => '5'];
     $m['name'] = 5;
     $this->assertSame('5', $m->dirty['name']);
     $m['name'] = 6;
     $this->assertSame('5', $m->dirty['name']);
     $m['name'] = 5;
     $this->assertSame('5', $m->dirty['name']);
     $m['name'] = '5';
     $this->assertEquals([], $m->dirty);
     $m->data = ['name' => 4.28];
     $m['name'] = '4.28';
     $this->assertSame(4.28, $m->dirty['name']);
     $m['name'] = '5.28';
     $this->assertSame(4.28, $m->dirty['name']);
     $m['name'] = 4.28;
     $this->assertEquals([], $m->dirty);
     // now with defaults
     $m = new Model();
     $f = $m->addField('name', ['default' => 'John']);
     $this->assertEquals('John', $f->default);
     $this->assertEquals('John', $m->get('name'));
     $m['name'] = null;
     $this->assertEquals(['name' => 'John'], $m->dirty);
     $this->assertEquals(['name' => null], $m->data);
     $this->assertEquals(null, $m['name']);
     unset($m['name']);
     $this->assertEquals('John', $m->get('name'));
 }