Я немного борюсь с некоторыми формулами, идея состоит в том, чтобы иметь только одну формулу / функцию для всего, чтобы ее было легко поддерживать и она была надежной.
Проблема заключается в попытке объединить вызовы 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');
}
Возникает вопрос: знаете ли вы, как использовать одну формулу / функцию для всего?






Попробуйте это в своем методе контроллера
Выполняйте общие расчеты в отдельном методе и вызывайте его здесь. Затем измените формат ответа в следующих разделах
if ($request->expectsJson()){
//send response to ajax here in json format. note that you should set ajax dataType:'json'
}
//send response for web here.