Как передать массив в качестве параметров SELECT для Laravel Query Builder - PullRequest
1 голос
/ 16 января 2020

Если у меня есть вызов AJAX, который возвращает массив с именем $selectArray, который равен [foo,bar,foobar], как использовать его в Laravel Query Builder, чтобы он был очищен? В настоящее время у меня есть

// Sanitizing Input
// $acceptableSelects is an array of columns in a table. Checks if there are any elements in $selectArray that is invalid
// If the check fails, it return the default array
$sanSelectArray = !array_diff($selectArray, array_keys($accetableSelects)) && count($selectArray) < 8 ? $selectArray : [foo,foo2,foo3]

foreach($sanSelectArray as $ele){
    $query->addSelect('table.' . $ele); // Required since I have a LEFT JOIN
}

Это кажется ужасно не интуитивным. Либо есть лучшие способы очистки ввода или передачи массива как SELECT без использования нескольких методов addSelect(), но я не могу найти ни одного.

...