在字符串上调用成员函数addDays()

时间:2018-12-16 21:42:58

标签: laravel-5 php-carbon

我正在尝试使用Laravel Carbon来将日期添加到日期,但我不明白为什么会收到此错误。我已经检查了StackOverflow中的一些帖子,但是没有人帮助我解决它。

这是我的代码:

$user = Auth::user();
    $orders = DB::table('orders')->where('user_id', Auth::user()->id)->get();
    $totalValue = 0;
    $percentage = 0;
    $currentDate = $carbon->now();
    $currentDate = Carbon::parse($currentDate)->format('d/m/Y');
    //$percentage = ($order->price * 0.05) / 30;


    foreach($orders as $order) {
        $nextDate = Carbon::parse($order->created_at)->format('d/m/Y');
        if(1 == 1) {
            $nextDate->addDays(1);
            DB::table('orders')->where('user_id', Auth::user()->id)->update(['profit' => $order->profit]);
    }

错误:

Error Laravel

2 个答案:

答案 0 :(得分:0)

我想您没有正确保存created_at日期。尝试以下代码。

$user = Auth::user();
$orders = DB::table('orders')->where('user_id', Auth::user()->id)->get();
$totalValue = 0;
$percentage = 0;
$currentDate = $carbon->now();
$currentDate = Carbon::parse($currentDate)->format('d/m/Y');
//$percentage = ($order->price * 0.05) / 30;

foreach($orders as $order) {
    $nextDate = \Carbon\Carbon::parse($orders[0]->created_at)->format('d/m/Y');
    $new_date = \Carbon\Carbon::createFromFormat('d/m/Y',$nextDate)->addDays(1)->toDateString();
    if(1 == 1) {
        //$nextDate->addDays(1);
        $new_next_date = date('d/m/Y',strtotime($new_date));
        DB::table('orders')->where('user_id', Auth::user()->id)->update(['profit' => $order->profit]);
}

答案 1 :(得分:0)

请尝试在更改日期格式之前添加一天,如下所示。

Carbon::parse($currentDate)->addDays(1);

Carbon::parse($currentDate)->addDay();

从今天开始添加日期的简单方法是Carbon::now()->addDay();

谢谢。