2016-04-30 7 views
0
| ID | name | link | 
     1   one   good 
     2   two  allow 
     3   tree   data 
     4   four   last 
     5   five   rade 

$data = DB::table('info')->plunk('link'); 

Ok Этого запрос дает мне ссылку поле с таким родом по умолчанию:Laravel Query Builder «проблема» не возвращает мне оригинальную сортировку по умолчанию значения из поля базы данных

  • данные
  • последних
  • хорошо
  • Rade
  • позволяют

И не с правильным способом - оригинальная сортировкой, как вы можете видеть в поле таблицы:

  • хорошо
  • позволяют
  • данные
  • последнего
  • Роде

My queston is ..
Как можно взять поля ссылок, как есть база данных? Вы знаете, исходная сортировка без указания моего кода метод сортировки, такой как:

->orderBy('id', 'asc') 

Только оригинал.

+0

Вы не должны полагаться на «естественную сортировку». Эта сортировка может неожиданно измениться. Что не так с 'orderBy'? – Josh

+0

Неправильно не с orderBy, но с Laravel, система SQL дает вам исходную сортировку, но laravel нет. Второй неправильный, я не хочу выполнять больше кода, вы знаете, больше кода, больше времени на загрузку! Итак, как решить эту очень важную проблему в Laravel? –

ответ

1

Неправильно не с orderBy, но с Laravel, система SQL дает вам исходную сортировку, но laravel нет. Второй неправильный, я не хочу выполнять больше кода, вы знаете, больше кода, больше времени на загрузку! Итак, как решить эту очень важную проблему в Laravel?

Естественная сортировка непредсказуема, и именно поэтому вы сортируете по идентификаторам. Чтобы выполнить то, что вы хотите надежно, вы должны использовать orderBy. Если вы попытаетесь полагаться на естественную сортировку, вы увидите много головных болей и проблем. Это не вина Ларавеля, что естественная сортировка непредсказуема.

Сортировка никак не повлияет на производительность, особенно если эта таблица индексируется по идентификатору. Если вы не знаете, как индекс столбца, пожалуйста, прочитайте:
https://dev.mysql.com/doc/refman/5.5/en/column-indexes.html

Вы не сможете сделать то, что вам нужно здесь без использования order by пункта. Сама природа вашего вопроса требует заказа. К счастью, ваш столбец ID - это вполне жизнеспособный способ сделать это.

+0

Спасибо, теперь я уверен, что у SQL нет сортировки по умолчанию, на самом деле это мой вопрос. –