示例#1
0
    /**
     * Deletes an associated PackageContribution
     * @param PackageContribution $objPackageContribution
     * @return void
     */
    public function DeleteAssociatedPackageContribution(PackageContribution $objPackageContribution)
    {
        if (is_null($this->intId)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociatePackageContribution on this unsaved Package.');
        }
        if (is_null($objPackageContribution->Id)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociatePackageContribution on this Package with an unsaved PackageContribution.');
        }
        // Get the Database Object for this Class
        $objDatabase = Package::GetDatabase();
        // Perform the SQL Query
        $objDatabase->NonQuery('
				DELETE FROM
					`package_contribution`
				WHERE
					`id` = ' . $objDatabase->SqlVariable($objPackageContribution->Id) . ' AND
					`package_id` = ' . $objDatabase->SqlVariable($this->intId) . '
			');
        // Journaling
        if ($objDatabase->JournalingDatabase) {
            $objPackageContribution->Journal('DELETE');
        }
    }