繁体   English   中英

如何仅从Laravel 5.6的数据表中获取最新更新记录?

[英]How to grab only latest update record from data table in Laravel 5.6?

我有以下表格名称作为此类结构的项目,

id    name    adtype created_at    updated_at
1     gobba     1      2018-02-25    2018-02-25
2     manna     0      2018-04-25    2018-04-25
3     alaya     1      2017-12-28    2017-12-28

我只需要抓取一个与最新更新的记录和adtype == 1相关的结果,我会按照控制器编写代码,为此,

 public function showad()
     {
 $projects = Vehicle::with('uploads')
            ->where('adtype','=',1)
            ->latest('updated_at');
return view('vehicles.slider')->withProjects($projects);

但这可以但不能过滤最新更新的记录。 如何纠正呢?

尝试使用ORDER BYLIMIT

$projects = Vehicle::with('uploads')
    ->where('adtype', '=', 1)
    ->orderBy('updated_at', 'desc')
    ->take(1)
    ->get();

这应该对应于以下原始MySQL查询:

SELECT *
FROM uploads
WHERE adtype = 1
ORDER BY updated_at DESC
LIMIT 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM