【发布时间】:2019-04-14 18:59:56
【问题描述】:
我的想法是我需要通过这个模型从拍卖中获取 end_date,它位于数据库内部,采用 MySQL 时间戳格式(我使用 phpmyadmin,如果重要,例如 2018-11-14 04:58:07 )。因此,当我得到 end_date 时,想法是通过 Carbon addSeconds() 函数将其增加几秒(例如 10 秒),然后将其再次写入数据库。这是完成它的控制器和我的拍卖模型。 发生的事情是我得到 FatalThrowableError 'Call to a member function addSeconds() on integer'。我玩了很多次,似乎找不到 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);
}
【问题讨论】:
标签: php laravel date timestamp