Skip to content

Commit

Permalink
custom primary key
Browse files Browse the repository at this point in the history
  • Loading branch information
nticaric committed Aug 23, 2016
1 parent cb79778 commit adabda0
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/Engines/TNTSearchEngine.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public function update($models)

$this->tnt->selectIndex("{$model->searchableAs()}.index");
$index = $this->tnt->getIndex();
$index->setPrimaryKey($model->getKeyName());
if ($model->getKey()) {
$index->update($model->getKey(), $searchableFields);
} else {
Expand All @@ -57,6 +58,7 @@ public function delete($models)
$models->each(function ($model) {
$this->tnt->selectIndex("{$model->searchableAs()}.index");
$index = $this->tnt->getIndex();
$index->setPrimaryKey($model->getKeyName());
$index->delete($model->id);
});
}
Expand Down Expand Up @@ -144,7 +146,7 @@ public function map($results, $model)
public function getSearchableFields($model)
{
$searchableFields = [];
$model->searchable[] = 'id';
$model->searchable[] = $model->getKeyName();

foreach ($model->toSearchableArray() as $field => $value) {
if (in_array($field, $model->searchable)) {
Expand All @@ -163,8 +165,9 @@ public function initIndex($model)
$indexer = $this->tnt->createIndex("$indexName.index");
$indexer->setDatabaseHandle($model->getConnection()->getPdo());
$indexer->disableOutput = true;
$indexer->setPrimaryKey($model->getKeyName());
$fields = implode(', ', $model->searchable);
$indexer->query("SELECT {$model->getKeyName()} as id, $fields FROM $indexName WHERE {$model->getKeyName()} = {$model->getKey()}");
$indexer->query("SELECT {$model->getKeyName()}, $fields FROM $indexName WHERE {$model->getKeyName()} = {$model->getKey()}");
$indexer->run();
}
}
Expand Down

0 comments on commit adabda0

Please sign in to comment.