Я хочу запустить приведенный ниже запрос SELECT * FROM order_item JOIN order ON (order_item.order_id = order.id AND order.order_status IN ('payment_completed','refund_requested')) WHERE order_item.item_id=1; Я пробовал, как показано ниже. OrderItem::join('order', function($join){ $join->on('order.id','=','order_item.order_id'); $join->whereIn('order.order_status',array('payment_completed','refund_requested')); })->where('order_item.item_id','=','1')->get(); Я знаю, что это неправильно. Каков правильный способ использования whereIn в условии соединения? Заранее спасибо!
Я хотел бы обновить несколько записей в db, используя инструкцию WHERE IN с двумя проверками столбцов. Чистый сырой запрос MySql выглядит примерно так .. и он работает: UPDATE poll_quota q SET q.count = q.count+1 WHERE q.form_id=14 AND ((q.field_id,q.value) IN (('A',1),('B',1))) Мой код: $this->createQueryBuilder("q") ->update() ->set("q.count","q.count+1") ->where("q.form_id=:form_id") ->andWhere("((q.field_id,q.value) IN (:wherein))") ->setParameter(":form_id",$form_id) ->setParameter(":wherein",$where_in) ->getQuery() ->execute() ; Вывод: […]