Snippets

This Mächler TYPO3 Extbase Repository - query settings

Created by This Mächler
/**
 * The repository for Address
 */
class AddressRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

	public function initializeObject() {
		// fetch hidden records
		$this->defaultQuerySettings = $this->createQuery()->getQuerySettings();
		$this->defaultQuerySettings->setEnableFieldsToBeIgnored( array('disabled') );
		$this->setRespectHidden( false );
	}
	
	public function setRespectHidden( $respectHidden ){
		$this->defaultQuerySettings->setIgnoreEnableFields( !$respectHidden );
	}
	
	
	/**
	* removeAllOthersWithIdenticalEmail
	* removes all records with email identical to $address, except $address itself
	*
	* @param \MMC\MmcDirectmailSubscription\Domain\Model\Address $address 
	* @return void
	*/
	public function removeAllOthersWithIdenticalEmail( $address ){
		$addr = $this->findByEmail( $address->getEmail() );
		foreach( $addr as $a ){
			if( $a->getUid() != $address->getUid() )
				$this->remove( $a );
		}
	}
	
	public function persistAll(){
		$this->persistenceManager->persistAll();
	}
	
}

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.