Вызов функции-члена addDays () для строки - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь добавить дни к дате, используя Carbon с Laravel, но я не понимаю, почему я получаю эту ошибку.Я проверил некоторые сообщения в 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 голосов
/ 17 декабря 2018

Попробуйте добавить день до изменения формата даты, как показано ниже.

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

или

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

Простой способ добавить дату с сегодняшней даты - Carbon::now()->addDay();

Спасибо.

0 голосов
/ 17 декабря 2018

Я полагаю, вы неправильно сохраняете дату 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]);
}
...