Laravel-datatables: Laravel 5.3์˜ ๋‹ค์ค‘ ํ•„๋“œ์—์„œ ์—ฐ๊ฒฐ๋œ ๊ฒฐ๊ณผ ๊ฐ’์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•

์— ๋งŒ๋“  2017๋…„ 02์›” 03์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: yajra/laravel-datatables

์•ˆ๋…•ํ•˜์„ธ์š”,

๋‚ด ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์—์„œ ์ด๋ฆ„ ํ•„๋“œ๋ฅผ CONCAT (fname, "", "lname")์œผ๋กœ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํ…Œ์ด๋ธ”์—์„œ ์ด๋ฆ„ ํ•„๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผํ•˜๋ฉฐ fname ๋˜๋Š” lname๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค.

js ์ฝ”๋“œ :

columns  : [
             { data: 'name', name: 'fname' }, //I have tried this also : ['fname','lname' ]
                --------------------

PHP ์ฝ”๋“œ :

$users = User::leftJoin('address', 'address.user_id', '=', 'users.user_id') 
                    ->select([\DB::Raw(
                        'CONCAT(fname," ",lname) as name, CONCAT(country_code, "", mobile_number) as mobile_num, IF(status = 1, "Active", "Inactive") as status,
                        (SELECT count(subscription_id) FROM subscription WHERE subscription.user_id = users.user_id AND subscription.status IN (2,4)) as totalActivesubscription'

                        ), 'gender', 'city as address', 'city','users.user_id', 'email_id'])

                    ->where('users.role_id', '=', $aParam['role_id']);

            return Datatables::of($users)
                ->addColumn('actions', function ($users) {
                    return view('users.templates.user_action', [
                        'user' => $users
                        ])->render();
                })


            ->make(true);

์‹œ์Šคํ…œ ์„ธ๋ถ€ ์ •๋ณด : "

  • ์šด์˜ ์ฒด์ œ : Windows8, Linux
  • PHP ๋ฒ„์ „ : 5.6
  • ๋ผ ๋ผ๋ฒจ ๋ฒ„์ „ : 5.3
  • Laravel-Datatables ๋ฒ„์ „ : ์ตœ์‹ 
question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

js์—์„œ ๋‹ค์Œ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค.

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

๋˜๋Š” filterColumn api๋ฅผ ์‚ฌ์šฉ

๋ชจ๋“  3 ๋Œ“๊ธ€

js์—์„œ ๋‹ค์Œ ํŠธ๋ฆญ์„ ์‚ฌ์šฉํ•ด๋ณด์‹ญ์‹œ์˜ค.

columns  : [
   { data: 'name', name: 'fname' },
   { data: 'name', name: 'lname', visible: false },
...

๋˜๋Š” filterColumn api๋ฅผ ์‚ฌ์šฉ

filterColumn API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ” (์ฃผ ์ฟผ๋ฆฌ์— ์กฐ์ธ ๋œ)์˜ ํ•„๋“œ๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์–ด๋–จ๊นŒ์š”?

ํ™•์ธ https://datatables.yajrabox.com/fluent/joins๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰