ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠ΄ΠΊΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ»Π΅?
$dataTableQuery = Users::query()
->leftJoin('user_info', 'users.id', '=', 'user_info.id')
->select([
'users.id',
'users.username',
'users.role_id',
'user_info.first_name',
'user_info.last_name',
'user_info.email',
'users.blocked',
'users.balance',
'users.created',
]);
$sums = [
'sum_balance' => '0',
];
$datatables = Datatables::of($dataTableQuery )
->escapeColumns(['first_name', 'last_name', 'email'])
->editColumn('created', function ($user) {
return Carbon::createFromFormat('Y-m-d H:i:s', $user->created)->toDateString();
})
->editColumn('blocked', function ($user) {
return $user->blocked_label;
})
->addColumn('actions', function ($user) {
return $user->gamers_buttons;
})
->filter(function ($query) use ($request) {
if ($request->has('username')) {
$query->where('username', 'like', "%{$request->get('username')}%");
}
})
->addSum('sum_balance', DB::raw("sum(balance)")) <-- How do it?
->with('sums', $sums);
->
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡ ΠΆΠ΅ Π·Π°ΠΏΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π² DT, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
->with('sum_balance', $dataTableQuery->sum('balance'))
$ dataTableQuery - ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ | ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ?
ΠΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΡΠΎ Π² ΠΊΠ»ΠΈΠ½ΠΊΠ΅?
@ yurik3zzz Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ withQuery api Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ.
@ prakash-pokhrel, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· javascript, ΠΏΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎΡΠ²Π΅ΡΠ° ajax. Π§ΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅: LaravelDataTables["users-table"].ajax.json()
@yajra Π― Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° drawCallback.
`` js
$ ('# users-table'). on ('draw.dt', function () {
$ ('# total'). val (LaravelDataTables ["users-table"]. ajax.json (). total)
})
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ html v4.0, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅:
public function html()
{
...
->ajax()
->drawCallback('function() { $("#total").val( this.api().ajax.json().total ) }')
...
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉ,
Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ "#total" Π²
-> drawCallback ('function () {$ ("# total"). val (this.api (). ajax.json (). total)}')
ΠΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ html?
ΠΡΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ jquery Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
$ dataTableQuery - ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π±Π΅Π· ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΈ | ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ?