Laravel 拉维表状态
我想在我的laravel表中添加一个表状态。。我想要一种情况,在创建一个表时,它将有一个表状态“new”,然后在两天后它将有一个状态“old”您不需要为此创建一个新列。您可以使用创建的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'; } 然后,您可
来计算它是否是新的/旧的。在模型上添加一个新的选项使其更加容易:
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
将在您需要的任何位置执行;在某些附加控制器逻辑或视图中(如显示)。基本上,你没有说你想对这个专栏做什么,所以我提供了一个例子,但是你可以根据需要在任何地方使用它。很抱歉,反馈太晚了。。非常感谢..我很感激。。希望你看到这个