Как создать собственный orderBy или DB::raw(FIELD()) с ключевым словом LIKE и передачей переменной в построителе запросоPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как создать собственный orderBy или DB::raw(FIELD()) с ключевым словом LIKE и передачей переменной в построителе запросо

Сообщение Anonymous »

У меня есть очень простое решение, но оно мне не нравится. Итак, как я могу это сделать?
моя база данных

Код: Выделить всё

--------------------------------------
id   name   view       created_at
--------------------------------------
1   one     9      2021-01-13 12:34:22
2   two     8      2021-01-15 10:23:02
3   three   23     2021-01-15 20:55:17
4   forth   15     2021-01-16 12:34:22
5   fifth   0      2021-01-19 10:37:02
Я хочу отсортировать и получить свои данные следующим образом:

Код: Выделить всё

--------------------------------------
id   name   view       created_at
--------------------------------------
5   fifth   0      2021-01-19 10:37:02
3   three   23     2021-01-15 20:55:17
4   forth   15     2021-01-16 12:34:22
1   one     9     2021-01-13 12:34:22
2   two     8     2021-01-15 10:23:02
Мое решение:

Код: Выделить всё

        $today = '2021-01-19';  //this date will calculate in daily. Not absolute date!

$firstarray=Product::where('created_at','LIKE',$today.'%')->get();
$secondarray=Product::orderBy('viewer', 'DESC')->get();
$data = array_merge($firstarray,$secondarray);
return $data;
На самом деле я хочу сделать свой код вот таким

Код: Выделить всё

    $today = '2021-01-19';  //this date will calculate in daily. Not absolute date!
$data = Product::orderBy(DB::raw('FIELD(created_at, LIKE $today."%")'),'DESC')
->orderBy('view','desc')->get();
return $data;
Как я могу получить мощный код для решения моей проблемы?
Извините за мои знания английского языка

спасибо всем

Подробнее здесь: https://stackoverflow.com/questions/657 ... assing-var
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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