在Laravel上添加日期

时间:2017-11-16 14:21:24

标签: laravel

当我使用此代码时,它显示错误"调用成员函数addDays()on string"

public function showJobCategoryContent($id)
{

    $jobsInfoById = DB::table('jobs')->where('category_id', '=', $id)->where('published', '=', 1)->paginate(3);

    $jobsInfoById = $jobsInfoById->map(function ($job) {
        return $job->created_at->addDays(30);
    });

    return $jobsInfoById->pluck('created_at');
}

1 个答案:

答案 0 :(得分:2)

因为您使用的是DB而不是Jobs,所以您将获取原始数据库数据而不是碳实例。如果你对乔布斯做了同样的事情,你会得到模型,日期将是碳:

$jobsInfoById = Jobs::where('category_id', '=', $id)->where('published', '=', 1)->paginate(3);

要在不使用Eloquent的情况下修复它,请执行:

use Carbon\Carbon; //including Carbon already

$jobsInfoById = $jobsInfoById->map(function ($job) {
    return ['created_at' => Carbon::parse($job->created_at)->addDays(30)];
});

在结果上执行地图时会创建碳实例。