删除在laravel中具有最后一个日期的查询

删除在laravel中具有最后一个日期的查询,laravel,laravel-5,laravel-5.5,Laravel,Laravel 5,Laravel 5.5,我有一个场景,其中记录如下: public function deletelatDate() { // $datedel = '2018-04-03'; $datedel = Attendance::sortBy('date', 'desc')->first(); // $query->sortBy('date', 'desc')->first(); DB::table('attendances')->where('date', $dat

我有一个场景,其中记录如下:

public function deletelatDate()
{
    // $datedel = '2018-04-03';
    $datedel = Attendance::sortBy('date', 'desc')->first();

    // $query->sortBy('date', 'desc')->first();
    DB::table('attendances')->where('date', $datedel )->delete();

    return back()->with('success','Last attendance entries successfully deleted'); 
}
日期

  • 2018-01-15

  • 2018-01-16

现在我需要做的就是删除最后一个日期。我需要删除包含
2018-01-15
的查询

我的代码如下:

public function deletelatDate()
{
    // $datedel = '2018-04-03';
    $datedel = Attendance::sortBy('date', 'desc')->first();

    // $query->sortBy('date', 'desc')->first();
    DB::table('attendances')->where('date', $datedel )->delete();

    return back()->with('success','Last attendance entries successfully deleted'); 
}
你对我如何解决这个问题有什么建议吗?
谢谢。

您可以使用
latest
获取最新记录:

公共函数deleteLatest()
{

//$datedel=today()->格式('Y-m-d');您可以使用
latest
获取最新记录:

公共函数deleteLatest()
{

//$datedel=today()->格式('Y-m-d');在获取第一条记录后使用
orderBy
并获取列
date

 public function deletelatDate()
 {
      $datedel = Attendance::orderBy('date', 'asc')->first();
       DB::table('attendances')->where('date', $datedel->date )->delete();
      return back()->with('success','Last attendance entries successfully deleted'); 
   }

在发送成功消息之前也要检查查询成功

使用
orderBy
并在获取第一条记录后获取列
date

 public function deletelatDate()
 {
      $datedel = Attendance::orderBy('date', 'asc')->first();
       DB::table('attendances')->where('date', $datedel->date )->delete();
      return back()->with('success','Last attendance entries successfully deleted'); 
   }

在发送成功消息之前还要检查查询是否成功

问题有点模糊,但我认为OP想要的是最旧的,而不是最新的。此外,您可以在一行中完成,而不是先获取行。@HH我应该在$datedel中输入什么?是的,我正在寻找最旧的@JoelHinz@gwapo这取决于你想使用的日期,你可以通过它是一个参数
公共函数deleteLatest($datedel)
或获取今天的日期
$datedel=today()->格式('Y-m-d')
如何使我的$datedel成为我表中日期字段的最早记录?问题有点模糊,但我认为OP想要的是最早的,而不是最新的。此外,您可以在一行中完成,而不是先获取行。@HH我应该在$datedel中放入什么?是的,我正在寻找最早的记录@JoelHinz@gwapo这取决于你想使用的日期,你知道吗可以将其作为参数传递给deleteLatest($datedel)
或获取今天的日期
$datedel=today()->格式('Y-m-d')
如何使my$datedel成为我的表中最早的日期字段记录?model
考勤的表名是什么?model
考勤的表名是什么?