TeamTNT\TNTSearch\Indexer\TNTIndexer::delete PHP Méthode

delete() public méthode

public delete ( $documentId )
    public function delete($documentId)
    {
        $rows = $this->prepareAndExecuteStatement("SELECT * FROM doclist WHERE doc_id = :documentId;", [['key' => ':documentId', 'value' => $documentId]])->fetchAll(PDO::FETCH_ASSOC);
        $updateStmt = $this->index->prepare("UPDATE wordlist SET num_docs = num_docs - 1, num_hits = num_hits - :hits WHERE id = :term_id");
        foreach ($rows as $document) {
            $updateStmt->bindParam(":hits", $document['hit_count']);
            $updateStmt->bindParam(":term_id", $document['term_id']);
            $updateStmt->execute();
        }
        $this->prepareAndExecuteStatement("DELETE FROM doclist WHERE doc_id = :documentId;", [['key' => ':documentId', 'value' => $documentId]]);
        $this->prepareAndExecuteStatement("DELETE FROM wordlist WHERE num_hits = 0");
        $total = $this->totalDocumentsInCollection() - 1;
        $this->updateInfoTable('total_documents', $total);
    }