Ich hatte gerade einen Fall, wo ich die Statamic-interne Suche nutzen wollte, um Beiträge in einem Blog mit Tags zu versehen. Dabei stellte sich die Frage, wie ich von den Suchergebnissen an die eigentlichen Statamic-Entries komme.
Fangen wir vorne an. Per Code kann man die Statamic Suche wie folgt ansprechen
$entries = Search::index('blog')
->search('laravel')
->get();
In diesem Beispiel wird der Such-Index blog
nach dem Begriff laravel
durchsucht. Anschließend kann über die Ergebnisse iteriert werden. Um jetzt den eigentlichen Entry zu erhalten, gibt es die Funktion getSearchable()
:
foreach($entries as $entry) {
$entry = $entry->getSearchable();
$entry->set('tags', ['laravel']);
$entry->save();
Das Entry-Objekt erhalten ich nun mit $entry->getSearchable()
und kann die set()
- und save()
-Methode nutzen, um entsprechende Tags zuzuweisen.