thinkphp如何对查询出来的姓名按字母顺序排序?像手机通讯录那样。我知道用order

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp如何对查询出来的姓名按字母顺序排序?像手机通讯录那样。我知道用order相关的知识,希望对你有一定的参考价值。

thinkphp如何对查询出来的姓名按字母顺序排序?像手机通讯录那样。我知道用order。但是order里面怎么写就不知道了

参考技术A 姓名是汉字还是英文?本回答被提问者采纳

如何在 Laravel 中按字母顺序对记录进行排序

【中文标题】如何在 Laravel 中按字母顺序对记录进行排序【英文标题】:How to sort records in alphabetical order in Laravel 【发布时间】:2018-04-25 02:22:25 【问题描述】:

如何在laravel中按字母顺序对记录进行排序?

public function index()

    $comproducts = Comproduct::paginate(3);

    $items = Item::orderBy('name')->all();        

    return view('computer', compact(['comproducts', 'items']));


这不能正常工作。这表明

调用未定义的方法 Illuminate\Database\Query\Builder::all()

这个错误。我该如何解决这个问题?

【问题讨论】:

使用get() 代替all()? 谢谢兄弟。现在可以正常使用了 【参考方案1】:

我用get()代替,你不能用all()方法修改查询,它也是静态函数

  $items = Item::orderBy('name')->get(); 

【讨论】:

【参考方案2】:

这就是你的排序方式,orderBy()all() 之后:

$items = Item::all()->sortBy('name');    

参考:https://laravel.com/docs/5.5/collections

【讨论】:

我觉得应该是sortBy() ?? orderBy 用于修改查询,sortBy 用于过滤结果,因此sortBy 将起作用。但我认为get() 方法可以在这里使用而不是all sortBy() 基本上是用来根据字段对集合进行排序的。而且由于问题有all(),因此我相信sortBy()会更好。【参考方案3】:

嗨,请根据 eloquent query laravel 找答案

表:用户 列:id、name、class_id

$users = DB::table('users')->whereIn('class_id', [1, 2, 3])->orderBy('name', 'ASC')->paginate(50);

【讨论】:

!! Str_limit($categories->name,100) !!

请帮我在里面添加排序功能。
它是不是在循环中它只是一个声明【参考方案4】:

您可以根据要排序的顺序执行以下任何操作

升序排列

 $students = Student::whereId($id)->orderBy('name')->get()->all();

降序排列

 $students = Student::whereId($id)->orderByDesc('name')->get()->all();

【讨论】:

问题是我得到了一个数组。例如,如果我使用$students->count(),则会收到以下错误:Call to a member function count() on array。 :/ 所以应该没有->all() => $students = Student::whereId($id)->orderBy('name')->get();

以上是关于thinkphp如何对查询出来的姓名按字母顺序排序?像手机通讯录那样。我知道用order的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React.js 中按字母顺序对数组中的对象进行排序

按字母顺序对查询结果进行排序,但在排序中排除“the”?

C ++按字母顺序对结构向量进行排序

如何按字母顺序对项目进行排序?

c语言姓名首字母排序问题

Python 如何对输出的词频结果按字母顺序排序(NLTK)