Kan ik met Laravel Scout / tntsearch in 2 tabellen zoeken?

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag
Ik wil graag in meerdere tabellen tegelijk zoeken met Scout / TNT search. In mijn database heb ik 2 tabellen events en organisations en ik wil graag in beide titels en omschrijvingen kunnen laten zoeken door de bezoekers.
Voor elke tabel afzonderlijk lukt dat prima met Laravel Scout, maar ik krijg het niet voor elkaar om die 2 tabellen dan te combineren.
Getriggerd door de opzet van Drupal heb ik een nieuwe tabel aangemaakt met een eigen ID en daaraan gekoppeld de verwijzingen naar de 2 tabellen Events en Organisations, maar als ik scout gebruikt met die tabel (ik heb deze entities genoemd) dan kan ik wel zoeken in de tabel entities (in dit geval niet meer dan de ID's) maar ik krijg dus geen resultaten uit de gekoppelde tabellen.

Iemand suggesties?

Erwin van Maasakkers

Beste antwoord (via Verwijderd op 21-11-2016 20:56)


  • naam
  • Registratie: Oktober 2007
  • Laatst online: 13:07
Je zou aan de records in de koppeltabellen de toSearchableArray kunnen vullen met de data uit de records welke deze koppelt.

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • naam
  • Registratie: Oktober 2007
  • Laatst online: 13:07
Je zou aan de records in de koppeltabellen de toSearchableArray kunnen vullen met de data uit de records welke deze koppelt.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey Naam,

Dank je wel, Ik had dezelfde gedachte, maar ik kreeg de foutmelding dat de kolom niet bestond. Ik ben er daarom vanuit gegaan dat je alleen kunt zoeken in de kolommen van het model. Is dat een verkeerde aanname?

Acties:
  • 0 Henk 'm!

  • PatrickH89
  • Registratie: November 2009
  • Laatst online: 11-09 23:26
Volgens mij is het id veld altijd verplicht met Scout.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Om snel te kunnen testen wil ik 'even' de kolom 'title' toevoegen, vooralsnog met een vaste tekst. Daar moeten dan straks de gekoppelde gegevens in komen.

Dit is mijn code daarvoor:

public function toSearchableArray()
{
$array = $this->toArray();

// Customize array...
if ($this->ent_type == "event")
{
$array =array_add($array,'title','deze tekst');
} else if ($this->ent_type == "organisation")
{
$array =array_add($array,'title','andere tekst');
}

return $array;
}

Als ik nu scout:import doe, krijg ik de foutmelding: [PDOException]
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'title' in 'field list'

Wat gaat er mis?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmmm... Waarschijnlijk zat het probleem in de array_add functie.
Ik heb nu alle velden die ik nodig heb 'handmatig' in de array gezet, dus een nieuwe array ervoor gemaakt, en dan werkt het wel!! :-)
Pagina: 1