想知道拉拉维尔的课程长度还剩下多少天

时间:2018-11-19 12:23:07

标签: php mysql laravel

我想知道如何获得课程持续时间还剩多少天

course-duration只是一列,在数据库中像30一样保存一个整数。

我想将course-durationcreated_at进行比较,并把在laravel剩下的日子归还给我。

id  username  course   course-duration(days)    created_at
---------------------------------------------------------------------
1   krish     SSB      14                       2018-11-19
---------------------------------------------------------------------
2   Brij      SSB      30                       2018-11-18
---------------------------------------------------------------------
3   Sagar     SSB      90                       2018-11-15

在比较course-durationcreated_at之后,我想获得课程的剩余天数。

4 个答案:

答案 0 :(得分:1)

您可以像这样获得剩余的日子:

\DB::statement("SELECT (course-duration - DATEDIFF(NOW(), created_at)) remained FROM your_table");

答案 1 :(得分:0)

您可以使用Carbon来获取created_at和now之间的天数

$diff_from_now = Carbon::parse($course->created_at)->diffInDays();
$course_duration = $course->duration;
$remaining_days = $course_duration- $diff_from_now;

答案 2 :(得分:0)

尝试这个

   Select sub(course-duration - DATE(created_at)) as left_days from table_name;

答案 3 :(得分:0)

只需在您的Course模型中定义一个方法即可计算每门课程的剩余天数:

class Course extends Model
{

    public function remainingDays() {
        return $this->course-duration - $this->created_at->diffInDays(Carbon::now());
    }

}

并获取每门课程的剩余天数:

$course->remainingDays();