Laravel Eloquent Relations: - >最新()

use*_*002 17 eloquent laravel-5

laravel中latest()的功能是什么?

例:

public function activity()
{
    return $this->hasMany('App\Activity')
        ->with(['user', 'subject'])
        ->latest();
}
Run Code Online (Sandbox Code Playgroud)

来自第44行的Laravel中的构建活动源.

我一直在寻找laravel文档,但我找不到它......

nex*_*tt1 49

latest()Illuminate\Database\Query\BuilderClass中定义的函数.它的工作非常简单.这是它的定义方式.

public function latest($column = 'created_at')
{
    return $this->orderBy($column, 'desc');
} 
Run Code Online (Sandbox Code Playgroud)

因此,它将orderBy与您提供的列一起按descending顺序使用默认列created_at.

  • @TahirAfridi,如文档中所述,“默认情况下,结果将按created_at列排序。或者,您可以传递您希望排序的列名称” (2认同)
  • 简而言之:默认情况下,它将根据created_at列获取最新的数据库条目。 (2认同)
  • 您也可以使用“oldest()”作为“latest()”的相反函数。 (2认同)

Ber*_*ujo 5

像这样在你的代码上添加 ->get()

 public function activity()
        {
            return $this->hasMany('App\Activity')
                ->with(['user', 'subject'])
                ->latest()->get();
        }
Run Code Online (Sandbox Code Playgroud)


小智 5

->latest() 从数据库中获取最新的数据集。简而言之,它对获取的数据进行排序,使用“created_at”列按时间顺序排列数据。

  • 真的能取到吗? (2认同)
  • 它不获取任何内容,它返回一个查询生成器,并链接到它的排序。您仍然需要调用 ->get()、->first() 等来从数据库中获取任何行 (2认同)