【发布时间】:2020-06-20 17:19:43
【问题描述】:
laravel orderBy id 可以很好地使用这个函数:
News::orderBy('id', 'desc')->paginate(20);
但我正在努力通过自定义字段来实现这一点。
我的自定义日期字段(排序)是一个 jQuery UI 日期选择器字段,用于填充所选日期,格式如下:
yy-mm-dd
所以,如果我从日期选择器中选择,假设今天它将显示为 2017-12-05,并以相同的格式保存在数据库中。
使用此自定义字段的原因是添加旧新闻文章,但顺序不同。
我尝试过这样做:
News::orderBy('sorting', 'desc')->paginate(20);
但显示此错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sorting' in 'order clause' (SQL: select * from `news` order by `sorting` desc limit 20 offset 0)
该列确实存在于我的数据库中。
如何使用 Laravel 中的自定义“排序”日期字段对我创建的文章进行排序?
编辑:
这是新闻列表的功能:
public function newsList() {
$news = News::orderBy('id', 'desc')->paginate(20);
return view('news-list', compact('news'));
}
正如我在此之前提到的,但想法是按自定义日期字段排序。
【问题讨论】:
-
请显示
news的数据库架构 -
嗨,aynber,我已经编辑了帖子。
-
排序是什么格式?日期时间或varchar? Y-m-d 或 d-m-Y
-
可以直接对数据库执行查询吗?
-
这只是功能。在 mysql 控制台中尝试
DESCRIBE news,然后发布结果。
标签: php mysql laravel laravel-5