/**
  * @param  LinkMany       $link
  */
 public function update(LinkMany $link)
 {
     parent::update($link);
     $affected = new Models();
     foreach ($link->getRemoved() as $removed) {
         $affected->addAll($removed->setPathAndUpdateDescendants(''));
     }
     foreach ($link->getAdded() as $added) {
         $affected->addAll($added->setPathAndUpdateDescendants($link->getModel()->getChildrenPath()));
     }
     return $affected;
 }
Exemple #2
0
 /**
  * @covers ::join
  */
 public function testJoinSoftDelete()
 {
     $rel = new HasMany('users', Address::getRepo()->getConfig(), 'Harp\\Harp\\Test\\TestModel\\User');
     $select = new Select(Address::getRepo());
     $rel->join($select, 'Address');
     $this->assertEquals('SELECT `Address`.* FROM `Address` JOIN `User` AS `users` ON `users`.`addressId` = `Address`.`id` AND `users`.`deletedAt` IS NULL', $select->humanize());
 }