来自数据库的两个日期之间的 Laravel 5 和 Eloquent

Vũ *_*ưng 5 php laravel laravel-5

我是 Laravel 5 的初学者。我有一个表:包含 CreateDate、Type 和 Channel 列的用户。

我有一个用户列表,我在视图中选择:Trans StartDate、Trans EndDate、Type 和 Channel。

我想展示:StartDate < CreateDate < Trans EndDate带有类型和频道的Tras 。name="time_start", "time_end", "type", "channel".

我的路线:

Route::post('user', 'CSKHController@index');
Run Code Online (Sandbox Code Playgroud)

我的控制器:

public function index() {

    $start = Input::get ( 'time_start' );
    $end = Input::get ( 'time_end' );      

    $articles = KhachHang::all()->whereBetween('CreateDate', [$start, $end])->get();

    return view('admin/layouts/test', compact('stt','article'))->withDetails($articles);

}
Run Code Online (Sandbox Code Playgroud)

请帮帮我!

che*_*aby 6

Laravel 5.*

这是我如何在laravel 5.6项目中使用 eloquent 的示例。

我的view.blade.php

简化的 html 形式:

<form action="my-route" method="POST">

    {{ csrf_field() }}

    <input type="date" name="from">

    <input type="date" name="to">

    <button type="submit">Submit</button>

</form>
Run Code Online (Sandbox Code Playgroud)

我的控制器.php

use Illuminate\Support\Carbon;

// ...

$request->validate([

    'from'        => 'required|date',
    'to'          => 'required|date',
]);

$from    = Carbon::parse($request->from)
                 ->startOfDay()        // 2018-09-29 00:00:00.000000
                 ->toDateTimeString(); // 2018-09-29 00:00:00

$to      = Carbon::parse($request->to)
                 ->endOfDay()          // 2018-09-29 23:59:59.000000
                 ->toDateTimeString(); // 2018-09-29 23:59:59

$models  = Model::whereBetween('created_at', [$from, $to])->get();

// do whatever you want with the query results...
Run Code Online (Sandbox Code Playgroud)

其他资源

日期范围与 whereBetween

将碳日期转换为 mysql 时间戳


Lae*_*rte 3

要检查两个日期之间的情况,您可以使用此命令(以及其他选项):

$articles = KhachHang::where('CreateDate', '>=', $start)
                     ->where('CreateDate', '<=', $end)->get();
Run Code Online (Sandbox Code Playgroud)

您必须确保日期格式为“Ymd”,否则代码将无法工作。

  • 应该使用“whereBetween()”。这确实是它存在的全部原因。 (2认同)