Как ORM Laravel определяет отсортированные значения для данных? - PullRequest
0 голосов
/ 30 мая 2019

Например: в таблице есть поле с именем name, Name содержит несколько имен пользователей, например:

| name |
---------
| Asal |
| Codaya |
| Ostily |
| Queen |
| Qta |
| Zoo |

Чего вы хотите достичь, например, я передаю значение сейчас,например, передавая Q, затем возвращаемые данные, то есть все первые буквы Q находятся впереди, как это:

| name |
-------------
| Queen |
| Qta |
| Asal |
| Codaya |
| Ostily |
| Zoo |

Если вы передаете Z, оно становится таким:

| name |
------------
| Zoo |
| Asal |
| Codaya |
| Ostily |
| Queen |
| Qta |

Как это требование реализовано в mysql?

1 Ответ

0 голосов
/ 30 мая 2019

Я думаю, что ваш лучший вариант будет в SQL:

SELECT 
    name
FROM
    user
ORDER BY 
CASE
    WHEN name LIKE 'E%' THEN 1
    ELSE 2
END

Если вы используете Doctrine в качестве ORM, я полагаю, что CASE изначально не поддерживается в ORDER BY (в DQL), поэтому, я думаю, вам придется работать с необработанным SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...