Laravel 5.3,对模型的查询。这是一个很好的实践吗?

时间:2016-12-21 13:47:21

标签: php mysql eloquent

在执行SQL查询的模型中,这是一个很好的实践方法吗?

示例:我的应用程序具有OrderController,Order(Model)和调用OrderController @ disable()

的路径app / order / {order} / disable

在这种情况下,哪些代码最好?

前1:

../OrderController

public function disable($id) {
   $order = Order::findOrFail($id);
   $order->disable();

   return view('order.index'); 
}


../Order

public function disable() {
    $this->status = 0;
    $this->save();
}

前2:

../OrderController

public function disable($id) {
   $order = Order::findOrFail($id);
   $order->status = 0;
   $order->save();

   return view('order.index'); 
}

1 个答案:

答案 0 :(得分:0)

你可以这样做:

Order::findOrFail($id)->update(['status ', 0]);

如果您需要在保存之前对模型数据进行一些处理,可以为此创建Repository,这样控制器和模型将保持清洁