以下のようなSQLをクエリビルダで設定する場合
SELECT
*
FROM
table
WHERE
(column1 like '%test%'
OR column2 like '%test%'
OR column3 like '%test%'
OR column4 like '%test%'
OR column5 like '%test%')
こんな感じでできたのでメモ
$columns = [
'column1',
'column2',
'column3',
'column4',
'column5',
];
$query->where(function ($query) use ($columns, $data) {
$i = 0;
foreach ($columns as $column) {
$where = (!$i) ? 'where' : 'orWhere';
$i++;
$query->$where("table.{$column}", 'like', '%' . $data . '%');
}
});