我在一些公式上苦苦挣扎,其想法是对所有内容都只有一个公式/函数,因此它易于维护,而且功能强大。
问题在于尝试结合使用AJAX调用和laravel函数。
从一侧看,我有一个AJAX Datatables控制器(调用必须采用这种格式):
public function userData(Request $request)
{
$event = User::select(
'users.*',
DB::raw('IFNULL(b.balance,0) as balance'),
)
->leftJoin(DB::raw('(SELECT seller_id, SUM(total) as balance FROM transactions WHERE concept IN ("TPV") AND status = "ok" GROUP by buyer_id)as b'), 'b.seller_id', '=', 'users.id')
->get();
return $this->formatView($request, $event, 'user');
}
然后,我用于网络其余部分的公式位于模型内的函数中:
public function Balance($seller_id = false){
return Transaction::emitted()
->where('event_id', $this->id)
->where('seller_id', $this->seller_id)
->whereIn('concept', ['TPV'])
->where('status', 'ok')
->sum('total');
}
问题是:您对如何仅使用一个公式/函数进行所有设计有想法吗?
答案 0 :(得分:0)
使用您的控制器方法尝试
在单独的方法中进行常用计算,然后在此处调用。然后在以下部分中更改回复格式
if ($request->expectsJson()){
//send response to ajax here in json format. note that you should set ajax dataType:'json'
}
//send response for web here.