atk4\data\tests\JoinArrayTest::testJoinSaving1 PHP Method

testJoinSaving1() public method

public testJoinSaving1 ( )
    public function testJoinSaving1()
    {
        $a = ['user' => [], 'contact' => []];
        $db = new Persistence_Array($a);
        $m_u = new Model($db, 'user');
        $m_u->addField('contact_id');
        $m_u->addField('name');
        $j = $m_u->join('contact');
        $j->addField('contact_phone');
        $m_u['name'] = 'John';
        $m_u['contact_phone'] = '+123';
        $m_u->save();
        $this->assertEquals(['user' => [1 => ['id' => 1, 'name' => 'John', 'contact_id' => 1]], 'contact' => [1 => ['id' => 1, 'contact_phone' => '+123']]], $a);
        $m_u->unload();
        $m_u['name'] = 'Peter';
        $m_u['contact_id'] = 1;
        $m_u->save();
        $m_u->unload();
        $this->assertEquals(['user' => [1 => ['id' => 1, 'name' => 'John', 'contact_id' => 1], 2 => ['id' => 2, 'name' => 'Peter', 'contact_id' => 1]], 'contact' => [1 => ['id' => 1, 'contact_phone' => '+123']]], $a);
        $m_u['name'] = 'Joe';
        $m_u['contact_phone'] = '+321';
        $m_u->save();
        $this->assertEquals(['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']]], $a);
    }