Changeset 578

Show
Ignore:
Timestamp:
05/04/08 14:10:40 (4 months ago)
Author:
bermiferrer
Message:

Adding support for using string lists for finder 'include' params

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/AkActiveRecord/AkAssociatedActiveRecord.php

    r468 r578  
    232232    { 
    233233        $result = false; 
    234         $options['include'] = is_array($options['include']) ? $options['include'] : array($options['include']); 
     234        $options['include'] = Ak::toArray($options['include']); 
    235235        $options['order'] = empty($options['order']) ? '' : $this->_addTableAliasesToAssociatedSql('__owner', $options['order']); 
    236236        $options['conditions'] = empty($options['conditions']) ? '' : $this->_addTableAliasesToAssociatedSql('__owner', $options['conditions']); 
     
    246246            } 
    247247        } 
    248  
     248         
    249249        $available_associated_options = array('order'=>array(), 'conditions'=>array(), 'joins'=>array(), 'selection'=>array()); 
    250250 
  • trunk/test/unit/lib/AkActiveRecord/_AkActiveRecord_finders.php

    r468 r578  
    1616        @Ak::file_delete(AK_MODELS_DIR.DS.'post_tag.php'); 
    1717    } 
    18      
     18 
    1919    function test_should_find_using_id_and_options() 
    2020    { 
     
    6060    } 
    6161 
     62    function test_should_parse_include_as_array() 
     63    { 
     64        $Post =& new Post(array('title' => 'PHP Frameworks')); 
     65        $Post->comment->create(array('name'=>'Comment 1')); 
     66        $Post->comment->create(array('name'=>'Comment 2')); 
     67        $Post->tag->create(array('name'=>'Tag 1')); 
     68        $Post->tag->create(array('name'=>'Tag 2')); 
     69 
     70        $this->assertTrue($Post->save()); 
     71         
     72        $this->assertTrue($Post =& $this->Post->find($Post->getId(), array('include'=>'comments,tags'))); 
     73         
     74        $this->assertEqual($Post->tags[0]->name, 'Tag 1'); 
     75        $this->assertEqual($Post->tags[1]->name, 'Tag 2'); 
     76 
     77        $this->assertEqual($Post->comments[0]->name, 'Comment 1'); 
     78        $this->assertEqual($Post->comments[1]->name, 'Comment 2'); 
     79    } 
     80 
    6281 
    6382} 
    6483 
    65 ak_test('AkActiveRecord_finders_TestCase',true); 
     84//ak_test('AkActiveRecord_finders_TestCase',true); 
    6685 
    6786?>