1
'OR'문을 포함하는 질의 문자열을 Eloquent로 구문 분석하려고합니다. 다른 필터 등이 적용된 훨씬 더 큰 기능의 일부이지만, make an or_where group을 원합니다.프로그래밍 방식으로 생성 된 Eloquent OR 쿼리의 클로저
내 혼란에는 폐쇄가 있습니다. 올바른 값이 전달되는지 확인하는 방법. 아래의 코드처럼 클로저에 잘못된 인수가 있다고하지만 그렇지 않으면 $ or_list 변수에 액세스 할 수 없습니다.
($thing_query
이 및 기타 기능의 과정을 통해 구축되고있는 쿼리입니다.)
elseif (strstr($column, 'or|')){
//in format or|=tablename-id=240,tablename-id=8
$or_list = explode(',', $value);
var_dump(explode(',', $value));
$thing_query->where(function($q, $or_list)
{
$count = 0;
foreach ($or_list as $or) {
$arr = explode('=', $or);
$col = $arr[0];
$val = $arr[1];
$col = str_replace('-', '.', $col);
if($count == 0){
$q->where($col, '=', $val);
} else {
$q->or_where($col, '=', $val);
}
$count++;
}
});
}
을 매일 나는 모든면에서 점점 좋아지다. – Damon