当我使用此代码时,它显示错误"调用成员函数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');
}
答案 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)];
});
在结果上执行地图时会创建碳实例。