atk4\data\tests\ReferenceSQLTest::testBasic2 PHP Method

testBasic2() public method

public testBasic2 ( )
    public function testBasic2()
    {
        $a = ['user' => [['name' => 'John', 'currency' => 'EUR'], ['name' => 'Peter', 'currency' => 'GBP'], ['name' => 'Joe', 'currency' => 'EUR']], 'currency' => [['currency' => 'EUR', 'name' => 'Euro'], ['currency' => 'USD', 'name' => 'Dollar'], ['currency' => 'GBP', 'name' => 'Pound']]];
        $this->setDB($a);
        $db = new Persistence_SQL($this->db->connection);
        $u = (new Model($db, 'user'))->addFields(['name', 'currency']);
        $c = (new Model($db, 'currency'))->addFields(['currency', 'name']);
        $u->hasMany('cur', [$c, 'our_field' => 'currency', 'their_field' => 'currency']);
        $cc = $u->load(1)->ref('cur');
        $cc->tryLoadAny();
        $this->assertEquals('Euro', $cc['name']);
        $cc = $u->load(2)->ref('cur');
        $cc->tryLoadAny();
        $this->assertEquals('Pound', $cc['name']);
    }