Laravel 拉维表状态

Laravel 拉维表状态,laravel,laravel-5.7,Laravel,Laravel 5.7,我想在我的laravel表中添加一个表状态。。我想要一种情况,在创建一个表时,它将有一个表状态“new”,然后在两天后它将有一个状态“old”您不需要为此创建一个新列。您可以使用创建的来计算它是否是新的/旧的。在模型上添加一个新的选项使其更加容易: public function getStatusAttribute() { return $this->created_at->gt(now()->subDays(2)) ? 'new' : 'old'; } 然后,您可

我想在我的laravel表中添加一个表状态。。我想要一种情况,在创建一个表时,它将有一个表状态“new”,然后在两天后它将有一个状态“old”

您不需要为此创建一个新列。您可以使用创建的
来计算它是否是新的/旧的。在模型上添加一个新的选项使其更加容易:

public function getStatusAttribute() {
    return $this->created_at->gt(now()->subDays(2)) ? 'new' : 'old';
}

然后,您可以通过
$model->status

访问该值。如果您使用的是
时间戳,则在Laravel中不需要新的表/列。您可以检查在
时间戳创建的
并与今天进行比较;如果
diffInDays()
大于2,则返回“old”,否则返回“new”。例如,在您的
模型中

Example.php

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Example extends Model {
  public function getStatusAttribute(){
    if(Carbon::now()->diffInDays($this->created_at) > 2){
      return "old";
    }
    return "new";
  }
}
然后,您可以查询您的模型并检查
状态
属性:

$example = Example::first();
dd($example->status); // Will be `"old"` or `"new"`

对不起,我不明白你所说的“查询我的模型”和“检查状态”属性是什么意思。你能更好地解释一下吗。。提前谢谢代码在那里。从数据库中获取记录并访问其中一个属性是否有不清楚的地方?是的,我有点困惑..我知道您编写的第一个代码应该在我的模型中编写,但最后一个代码也应该在我的模型中编写..很抱歉打扰您☺否,查询代码将在
控制器中执行,访问属性
->status
将在您需要的任何位置执行;在某些附加控制器逻辑或视图中(如显示)。基本上,你没有说你想对这个专栏做什么,所以我提供了一个例子,但是你可以根据需要在任何地方使用它。很抱歉,反馈太晚了。。非常感谢..我很感激。。希望你看到这个