lithium\tests\cases\data\source\DatabaseTest::testQueryJoin PHP Method

testQueryJoin() public method

public testQueryJoin ( )
    public function testQueryJoin()
    {
        $query = new Query(array('type' => 'read', 'model' => $this->_model, 'fields' => array('MockDatabasePost.title', 'MockDatabasePost.body'), 'conditions' => array('MockDatabaseTag.tag' => array('foo', 'bar', 'baz')), 'joins' => array(new Query(array('model' => 'lithium\\tests\\mocks\\data\\model\\MockDatabaseTag', 'constraints' => '{MockDatabaseTagging}.{tag_id} = {MockDatabaseTag}.{id}')))));
        $result = $this->_db->renderCommand($query);
        $expected = "SELECT {MockDatabasePost}.{title}, {MockDatabasePost}.{body} FROM";
        $expected .= " {mock_database_posts} AS {MockDatabasePost} JOIN {mock_database_tags} AS";
        $expected .= " {MockDatabaseTag} ON ";
        $expected .= "{MockDatabaseTagging}.{tag_id} = {MockDatabaseTag}.{id}";
        $expected .= " WHERE {MockDatabaseTag}.{tag} IN ('foo', 'bar', 'baz');";
        $this->assertEqual($expected, $result);
    }
DatabaseTest