在PHP LARAVEL中的布尔值上调用成员函数format()

时间:2018-10-03 21:15:55

标签: php laravel

我的问题可能与该问题重复:

PHP Fatal error: Call to a member function format() on boolean

但是我确定我的问题不会重复。

我在尝试以日期时间格式保存记录时遇到问题。

错误如下:

  

Symfony \组件\调试\异常\

     

FatalThrowableError(E_ERROR)

     

在布尔值上调用成员函数format()

1°记录

分别在date_start和date_end列

court_id = 1-NAME =网球

2018-10-05 10:00:00 - 2018-10-05 11:00:00 完美运行。保存起来没有问题

然后我尝试在表中保存另一条记录。

分别为同一列。

2°记录

court_id = 1-NAME =网球

2018-10-05 12:00:00 - 2018-10-05 13:00:00 无效,但是如果日期不同,例如2018-10-06,则有效。

日期相似,court_id相同,记录1和2之间的唯一区别是小时。

这是我的功能store()

public function store(Request $request){


    $hours = new HoursNew();

    try {


        $hours->id = $request->id;

        $date = DateTime::createFromFormat('Y-m-d\Th:i', $request->date_start);
        $date2 = DateTime::createFromFormat('Y-m-d\Th:i', $request->date_end);


        //THIS LINE SHOW ME AS AN ERROR
        $hours->date_start = $date->format('Y-m-d H:i:s');


        $hours->date_end = $date2->format('Y-m-d H:i:s');


        $hours->estate_hour_id = $request->estate_hour_id;
        $hours->court_id = $request->court_id;
        $hours->save();

    } catch (\Illuminate\Database\QueryException $e) {

         Session::flash('error', 'Whoops! We have some problems');

         return redirect()->route('ListHours.store');

    }
        Session::flash('message', "It's OK");
        return redirect()->route('ListHours.store');
}

为什么当我尝试为相同的法院(court_id)保存相同的日期但保存小时数时出现此错误。

1 个答案:

答案 0 :(得分:0)

http://php.net/manual/en/datetime.createfromformat.php

DateTime::createFromFormat()在失败时返回false。由于在您的示例中小时从<= 12变为13,所以对我来说,“ h”应大写。

$date = DateTime::createFromFormat('Y-m-d\TH:i', $request->date_start);