eZ\Publish\Core\FieldType\Url\UrlStorage\Gateway\LegacyStorage::deleteOrphanedUrls PHP Method

deleteOrphanedUrls() protected method

Deletes all orphaned URLs.
protected deleteOrphanedUrls ( )
    protected function deleteOrphanedUrls()
    {
        $dbHandler = $this->getConnection();
        $query = $dbHandler->createSelectQuery();
        $query->select($dbHandler->quoteColumn('id', self::URL_TABLE))->from($dbHandler->quoteTable(self::URL_TABLE))->leftJoin($dbHandler->quoteTable(self::URL_LINK_TABLE), $query->expr->eq($dbHandler->quoteColumn('url_id', self::URL_LINK_TABLE), $dbHandler->quoteColumn('id', self::URL_TABLE)))->where($query->expr->isNull($dbHandler->quoteColumn('url_id', self::URL_LINK_TABLE)));
        $statement = $query->prepare();
        $statement->execute();
        $ids = $statement->fetchAll(PDO::FETCH_COLUMN);
        if (empty($ids)) {
            return;
        }
        $deleteQuery = $dbHandler->createDeleteQuery();
        $deleteQuery->deleteFrom($dbHandler->quoteTable(self::URL_TABLE))->where($deleteQuery->expr->in($dbHandler->quoteColumn('id'), $ids));
        $deleteQuery->prepare()->execute();
    }