优化AJAX-Laravel功能

时间:2018-07-17 18:01:44

标签: php ajax laravel

我在一些公式上苦苦挣扎,其想法是对所有内容都只有一个公式/函数,因此它易于维护,而且功能强大。

问题在于尝试结合使用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'); 
    }

问题是:您对如何仅使用一个公式/函数进行所有设计有想法吗?

1 个答案:

答案 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.