是否可以在模型中创建自定义查询构建器并返回查询?这不是一个压力问题,但会有所帮助。
/* Controller */
public function getOrders()
{
$orders = \App\Order::where('is_new', 1)->getFromUserStore();
}
/* Order Model */
public function getFromUserStore()
{
if(\Auth::user()->store->id == 1)
{
return $this->get();
}
else
{
return $this->where('status_id', 1)->get();
}
}
由于
答案 0 :(得分:4)
我相信您正在寻找Query Scope
范围允许您定义可能的常见约束集 在整个申请过程中轻松重复使用。
/* Controller */
public function getOrders()
{
$orders = \App\Order::where('is_new', 1)->getFromUserStore()->get();
}
/* Order Model */
public function scopeGetFromUserStore($query)
{
if(\Auth::user()->store->id == 1)
{
return $query;
}
else
{
return $query->where('status_id', 1);
}
}