Во-первых, я бы посмотрел на показатели производительности, нужно ли искать все 10 столбцов из одного поискового запроса, потому что это будет дорого и очень медленно, если у вас есть миллионы записей.
Во-вторых, вы добавили индексы ко всемиз ваших доступных для поиска столбцов, чтобы база данных могла выполнять намного более быстрый поиск.
и, наконец, я бы избегал получения данных и циклов, где вы можете, иногда это нормально, если вы не выполняете дорогостоящие операции в цикле.
для поиска столбца вы можете сделать
Model::where('column1', 'LIKE', '%'.$searchterm.'%')->orWhere('column2', 'LIKE', '%'.$searchterm.'%') etc