/** * Add column to the collection. * * @param \Sofa\Eloquence\Searchable\Column $column */ public function add(Column $column) { $this->columns[$column->getMapping()] = $column; }
/** * Build basic search case for 'equals' comparison. * * @param \Sofa\Eloquence\Searchable\Column $column * @param array $words * @return string */ protected function buildEqualsCase(Column $column, array $words) { $equals = implode(' or ', array_fill(0, count($words), sprintf('%s = ?', $column->getWrapped()))); $score = 15 * $column->getWeight(); return "case when {$equals} then {$score} else 0 end"; }