Добавление секунд с Carbon - PullRequest
0 голосов
/ 12 ноября 2018

Идея состоит в том, что мне нужно получить end_date от аукциона через эту модель, которая находится внутри базы данных, в формате отметки времени MySQL (я использую phpmyadmin, если это имеет значение, например, 2018-11-14 04:58:07 ). Поэтому, когда я получаю end_date, идея состоит в том, чтобы увеличить его на несколько секунд (например, 10 секунд) с помощью функции Carbon addSeconds (), а затем снова записать в базу данных. Вот контроллер, где это сделано, и моя модель аукциона. Что происходит, что я получаю FatalThrowableError 'Вызов функции-члена addSeconds () на целое число ". Я много играл и не могу найти правильный формат для переменной secs2.

Auction.php

public $id;
public $name;
public $descript;
public $price;
public $pic;
public $end_date;
public $offers;
public $offered_by;

    public function get(){
    $result =
        DB::table('auctions')
            ->select('*')
            ->where('id', '=', $this->id)
            ->first();
    return $result;
}

    public function increment($id){
    $result =
        DB::table('auctions')
            ->where('id', $id)
            ->update([
                'offers' => DB::raw('offers + 1'),
                'end_date' => $this->end_date
            ]);
    return $result;
}

AuctionController.php

    public function offer($id, Request $request){
    $auction = new Auction();
    $auction->id = $id;

    $secs = $auction->get()->end_date;
    $secs2 = strtotime($secs);
    $secs2->addSeconds(120);

    $auction->end_date = $secs2;
    //dd($secs2);

    $auction->increment($id);
}

1 Ответ

0 голосов
/ 12 ноября 2018

Если вы хотите использовать метод addSeconds, вы не можете сначала преобразовать свое время в число .. например:

Carbon::parse($auction->get()->end_date)->addSeconds(120)->format('H:i:s');
...