Laravel Eloquent - 在模型中设置列

Kou*_*sha 2 laravel eloquent laravel-4

我有一个创建错误报告系统的"门票"表.这张票的enum status列要么是open,closesolved.

而不是在控制器内打开/关闭/解决票证,我只想在模型中做到这一点; 即我想呼吁的功能open(),close()以及solved()让我可以去Ticket::find($id)->close();.这应该设置属性statusclose,然后保存!

对此最好的方法是什么?此外,这会被视为不良做法吗?我应该在控制器内执行此操作吗?

我尝试过这样做,但没有成功:

public function close()
{
   $this->status = 'close';
   // Also tried $this->attributes['status'] = 'close';
   $this->save();
}
Run Code Online (Sandbox Code Playgroud)

cee*_*yoz 6

这是一个完美的东西,放入一个模型,IMO.

class Ticket extends Eloquent {
  public function open() {
    $this->status = 'open';
    $this->save();
  }
}
Run Code Online (Sandbox Code Playgroud)