Где круглые скобки в модели LaravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Где круглые скобки в модели Laravel

Сообщение Anonymous »

Когда я повторяю свой запрос, используя dd($query->toSql()); Я получаю:
"select `item_num`, `item_name`, `primary_color`, `content`
where (`item_name` NOT LIKE ? and `item_name` NOT LIKE ? and `item_name` NOT LIKE ? )
and `primary_color` = ? or `primary_color` = ? or `primary_color` = ?
order by `item_name` asc ◀"

Мне нужны круглые скобки (основной цвет= ? orосновной_цвет= ? orосновной_цвет = ?), чтобы запрос выглядел так:
"select `item_num`, `item_name`, `primary_color`, `content`
where (`item_name` NOT LIKE ? and `item_name` NOT LIKE ? and `item_name` NOT LIKE ? )
and (`primary_color` = ? or `primary_color` = ? or `primary_color` = ? )
order by `item_name` asc ◀"

Вот мой код:
$query = DB::table('my_table');
$query = $query->select(array('item_num', 'item_name', 'color', 'content'));

$query = $query->where($this->filterArr);

$cc = count($myArr);
$ii = 0;

foreach ($myArr as $key => $value) {
$myArr = explode(" ", $value);
if($ii==0)
$query = $query->where( function(){ $column, '=', $myArr[0]);
else
$query = $query->orWhere($column, '=', $myArr[0]);

if(count($myArr)>1){
foreach($myArr as $filter){

if ($key=='collection'){
$filter = str_replace("-", " ", $filter);
}

$query = $query->orWhere($column, '=', $filter);
}
}
}

$ii++;
}

$query = $query->orderBy('item_name', 'asc')
->simplePaginate(50);

из-за этого я получаю неожиданную синтаксическую ошибку, ',' из этой строки $query = $query->where( function(){ $column, '=' , $myArr[0]);
Кто-нибудь может помочь, добавив круглые скобки вокруг оператора WHERE, пожалуйста.
Спасибо.
edit $myArr — набор фильтров
Array (
[color] => blue
[color] => purple
[material] => slick granite
)


Подробнее здесь: https://stackoverflow.com/questions/636 ... avel-model
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»