Laravel现在比较日期字段和日期

时间:2015-09-06 01:34:58

标签: php mysql date laravel php-carbon

我正在尝试比较保存到我的数据库的日期字段和当前日期!

圈子是:

  1. admin将添加截止日期
  2. 的新职业
  3. 当有人填写申请时,他/她将只在下拉列表中看到可用的工作(其截止日期小于当前日期)
  4. 所以这是乔布斯模型

              protected $fillable = ['job_name','job_req', 'expire'];
    

    这是作业迁移

              public function up()
    {
        Schema::create('jobs', function(Blueprint $table)
        {
            $table->increments('id');
            $table->string('job_name');
            $table->string('job_req');
            $table->date('expire');
            $table->timestamps();
        });
    }
    
    public function down()
    {
        Schema::drop('jobs');
    }
    

    这是ApplicationController.php

           public function create()
    {   
        $dt = Carbon::now()->toDateString();
        $jobs = Jobs::get()->where('$dt', '<', 'expire');
        return view('post.create',compact('jobs'));
    }
    

    现在,当我打开申请表格时,它不会返回任何职位名称,但是当我从控制器中删除where子句时,它运作良好!

1 个答案:

答案 0 :(得分:1)

更改

$jobs = Jobs::get()->where('$dt', '<', 'expire');

$jobs = Jobs::where('expire', '>', $dt)->get();

- &gt; get()会立即进行查询,您必须使用 - &gt; where()才能进行查询。

使用 - &gt;在 - &gt; get()之后,您将调用此函数 http://laravel.com/api/5.1/Illuminate/Database/Eloquent/Collection.html#method_where