Laravel: динамическое предложение where with Elouquent

Я вызываю URL с параметрами поиска, которые являются динамическими. Как я могу сформировать правильный Красноречивый запрос?

В теории:

  • Запрос
  • запрос где (someParam1)
  • запрос где (someParam2)
  • запрос orderby (someParam3)
  • запрос

Мне нужна такая структура, поэтому я могу использовать предложение where, если param существует. Если в Ларавеле есть какой-то другой способ, пожалуйста, дайте мне знать.

Ответы

Ответ 1

Легко с Laravel. Просто сделайте что-нибудь вроде этого:

$query = User::query();

if ($this == $that) {
  $query = $query->where('this', 'that');
}

if ($this == $another_thing) {
  $query = $query->where('this', 'another_thing');
}

if ($this == $yet_another_thing) {
  $query = $query->orderBy('this');
}

$results = $query->get();

Ответ 2

Вы можете передать динамическое значение ниже примера

$user_auctions = $this->with('userAuctions')
                ->where('users.id', '=', $id)
                ->get();