php - 在 Laravel 的字符串上调用成员函数 format()

标签 php laravel

我路过fromdatetodate从 View 到 Controller 。我想从数据库中打印这些日期之间的时间,但出现如下错误:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR) Call to a member function format() on string



我的查看页面 :
<div class="col-sm-4">
    {!! Form::open (['url' => 'admin/ad']) !!}
    <div class="form-group">
        {!! Form::label('', 'From date') !!}
        {!! Form::date('fromdate', '', ['class' => 'form-control']) !!}
        {!! Form::label('', 'To date') !!}
        {!! Form::date('todate', '', ['class' => 'form-control']) !!}
    </div>
    <div class="form-group">
        {!! Form::submit(('submit'), ['class' => 'btn btn-primary btn-block']) !!}
        {!! Form::close() !!}
    </div>
</div>

我的 Controller 页面 :
$report = $request->report;
$fromdate = $request->fromdate; 
$start_date = date("Y-m-d H:i:s", strtotime($fromdate));
$todate = $request->todate;
$end_date = date("Y-m-d H:i:s", strtotime($todate));

$users = Report::whereBetween('created_at', [
    $start_date->format('Y-m-d') . " 00:00:00",
    $end_date->format('Y-m-d') . " 23:59:59"
])->get();

最佳答案

使用 Carbon处理日期解析和格式化的库:

$users = Report::whereBetween('created_at', [
    Carbon::parse($request->fromdate)->toDateTimeString(), 
    Carbon::parse($request->todate)->toDateTimeString()
])->get();

Modifiers 部分为 startOfXXXX格式:
$users = Report::whereBetween('created_at', [
    Carbon::parse($request->fromdate)->startOfDay(),  // 2012-01-31 00:00:00
    Carbon::parse($request->todate)->endOfDay()       // 2012-01-31 23:59:59
])->get();

关于php - 在 Laravel 的字符串上调用成员函数 format(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50020692/

相关文章:

php - 逐行加载数据本地INFILE

PHP通知: Undefined offset: 1

php - 在 Laravel 中使用 MySQL 数据库

php - Laravel 5.2 重定向中使用哪个更好?

javascript - Laravel 两次运行 axios 发送的请求

php - Laravel 5.2 错误 App\User cannot use Illuminate\Foundation\Auth\User - 这不是特征

具有多个变量组件的 PHP MySQL 语句

php - 创建检查(if 语句)以使用 PDO 在 PHP 中创建数据库

PHP - 使用 session.use_trans_sid 时 session ID 发生变化

javascript - 如何在 laravel 项目中挂载 riot 标签