2017-07-01 106 views
0

我想构建一个按某个字段长度排序数据的查询。我需要将这个查询重写为laravel的Eloquent ORM。Laravel按字段长度排序

SELECT * FROM table ORDER BY CHAR_LENGTH(field) 

回答

2

看来orderByRaw是你在找什么。这里有一个例子:

User::orderByRaw('CHAR_LENGTH(name)')->get();

+0

谢谢,它的工作原理! :) – Coze

-1

取决于你更喜欢:

DB::table('tblname')->orderBy('LENGTH(field)', 'ASC')->get(); 

OR

Model::orderBy('LENGTH(field)', 'ASC')->get(); 

OR

Model::orderBy(DB::raw('LENGTH(field), field')); 
+0

它没有为我工作 – Coze