lithium\tests\cases\data\model\QueryTest::testExportWithJoinedStrategy PHP Метод

testExportWithJoinedStrategy() публичный Метод

    public function testExportWithJoinedStrategy()
    {
        $query = new Query(array('type' => 'read', 'alias' => 'MyAlias', 'model' => 'lithium\\tests\\mocks\\data\\model\\MockGallery', 'calculate' => 'MyCalculate', 'comment' => 'No comment', 'conditions' => array('id' => 2), 'fields' => array('Tag'), 'with' => array('Image.ImageTag.Tag', 'Image', 'Image.ImageTag')));
        $export = $query->export($this->_db);
        $joins = 'LEFT JOIN {mock_image} AS {Image} ON {MyAlias}.{id} = {Image}.{gallery_id} ';
        $joins .= 'LEFT JOIN {mock_image_tag} AS {ImageTag} ON {Image}.{id} = ';
        $joins .= '{ImageTag}.{image_id} LEFT JOIN {mock_tag} AS {Tag} ON {ImageTag}.{tag_id} = ';
        $joins .= '{Tag}.{id}';
        $expected = array('type' => 'read', 'alias' => 'AS {MyAlias}', 'comment' => '/* No comment */', 'conditions' => 'WHERE {MyAlias}.{id} = 2', 'fields' => '{MyAlias}.{id}, {Tag}.*, {Image}.{id}, {ImageTag}.{id}', 'having' => '', 'group' => null, 'order' => null, 'limit' => null, 'joins' => $joins, 'mode' => null, 'model' => 'lithium\\tests\\mocks\\data\\model\\MockGallery', 'calculate' => 'MyCalculate', 'with' => array('Image.ImageTag.Tag' => null, 'Image' => null, 'Image.ImageTag' => null), 'source' => '{mock_gallery}', 'offset' => null, 'page' => null, 'data' => array(), 'whitelist' => array(), 'schema' => null, 'map' => array(), 'relationships' => array('Image' => array('type' => 'hasMany', 'model' => 'lithium\\tests\\mocks\\data\\model\\MockImage', 'fieldName' => 'images', 'alias' => 'Image'), 'Image.ImageTag' => array('type' => 'hasMany', 'model' => 'lithium\\tests\\mocks\\data\\model\\MockImageTag', 'fieldName' => 'image_tags', 'alias' => 'ImageTag'), 'Image.ImageTag.Tag' => array('type' => 'belongsTo', 'model' => 'lithium\\tests\\mocks\\data\\model\\MockTag', 'fieldName' => 'tag', 'alias' => 'Tag')));
        $this->assertEqual($expected, $export);
    }