/** * @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; }
/** * @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()); }