Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
написал запрос такого вида:
$dataType = RateCriterion::query()
->join('LessonEventRateCriterionType as ct', 'LessonEventRateCriterion.id', '=', 'ct.LessonEventRateCriterionId')
->where('Active', 1)
->where('ct.CriterionType', '=', $lessonType)
->orWhere('ct.CriterionType', '=', UserLessonRateEnum::TYPE_ALL)
->orderBy('OrderIndex')
->get()
->toArray();
получается немного не то что хотелось,
как его можно переписать чтобы в where было два условия:
where('Active' = 1 and ct.CriterionType = $lessonType) or ('Active' = 1 and ct.CriterionType = UserLessonRateEnum::TYPE_ALL)
Не в сети
->where(function ($query) use ($lessonType) {
$query->where('Active', 1)
->where('ct.CriterionType', $lessonType);
})
->orWhere(function ($query) {
$query->where('Active', 1)
->where('ct.CriterionType', UserLessonRateEnum::TYPE_ALL);
})
Попробуйте так.
->get()
->toArray();
Не самая лучшая идея. Нет лимита выборки и преобразование в array. Ситуационно конечно, но лучше избегать такой последовательности.
Изменено lodar (20.05.2019 23:31:19)
Не в сети
Страницы 1