Laravel-datatables: рдЦрд╛рд▓реА рдкрд░рд┐рдгрд╛рдо рдмрдбрд╝реЗ рдЯреЗрдмрд▓ рдкрд░ рдпрдЬрд░рд╛ рдбреЗрдЯрд╛рдЯреЗрдмрд▓ рд╕реЗрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдирд╡ре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yajra/laravel-datatables

рдореЗрд░реЗ рдкрд╛рд╕ Question рдореЙрдбрд▓ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рдЧрднрдЧ 30,000 рд░рд┐рдХреЙрд░реНрдб рд╣реИрдВ:

class Question extends Model
    {
        use SoftDeletes;

        protected $primaryKey = 'question_id';

        protected $fillable   = ['text', 'code', 'cat', 'answer', 'confirmed', 'is_private', 'email', 'parent', 'expert'];

        public function sub_questions ()
        {
            return $this->hasMany(Question::class, 'parent', 'question_id');
        }

        public function latest_sub_question ()
        {
            return $this->hasOne(Question::class, 'parent', 'question_id')->latest();
        }


    }

рд╕рднреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ yajra datatable laravel package рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдпрд╣ рдореЗрд░рд╛ рдЬреЗрдПрд╕ рдХреЛрдб рд╣реИ:

var allQuestionsTable =
$('#allQuestionsTable').DataTable({
                        processing: true,
                        serverSide: true,
                        "bSort": false,
                        "responsive": true,
                        ajax: {
                            url: '{!! route('admin.questionsDatatable') !!}'
                        },
                        columns: [
                            {data: 'checkbox'},
                            {data: 'code', name: 'code'},
                            {data: 'text', name: 'text'},
                            {data: 'created_at'},
                            {data: 'answer', name: 'answer'},
                            {data: 'expert'},
                            {data: 'confirmed'},
                            {data: 'actions'}
                        ]
                    });

рдФрд░ рдмреИрдХ-рдПрдВрдб рдореЗрдВ рдореИрдВрдиреЗ рдпрд╣ рдлрдВрдХреНрд╢рди рд▓рд┐рдЦрд╛:

public function questionsDatatable (Request $request)
        {
            $questions = Question::with('latest_sub_question')->whereNull('parent');

            $datatable = app('datatables')->of($questions)
                ->addColumn('checkbox', '<input type="checkbox" name="item_id[]" value="{{$question_id}}" id="Check_{{$question_id}}">');

                //other column modifications comes here

            return $datatable->make(true);
        }

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЬрдм рдореЗрд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдереАрдВ, рддреЛ рд╕рднреА рдЪреАрдЬреЗрдВ рдареАрдХ рдХрд╛рдо рдХрд░рддреА рдереАрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирдП рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝реЗ, рддреЛ questionsDatatable рдЦрд╛рд▓реА рдорд╛рди рд▓реМрдЯрд╛рддреЗ рдереЗ рдФрд░ рдбреЗрдЯрд╛рдЯреЗрдмрд▓реНрд╕ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рддреЗ рдереЗред

рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ ? рдФрд░ рдХреНрдпрд╛ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк get рд╣рдЯрд╛ рджреЗрдВред рдиреАрдЪреЗ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

public function questionsDatatable (Request $request)
{
    $questions = Question::with('latest_sub_question')->whereNull('parent');
    $datatable = app('datatables')->of($questions)
        ->addColumn('checkbox', '<input type="checkbox" name="item_id[]" value="{{$question_id}}" id="Check_{{$question_id}}">');
        ->editColumn('latest_sub_question', function($item) {
            return is_null($item->latest_sub_question) ? $item : $item->latest_sub_question;
        })
        //other column modifications comes here

    return $datatable->make(true);
}

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдЖрдкрдиреЗ AJAX рдЕрдиреБрд░реЛрдз рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ? рдпрд╣ рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдкрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдбрдВрдк рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

@yajra , рд╣рд╛рдБ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдПрдХ рдЦрд╛рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ 500 Internal Server Error рд╕реНрдерд┐рддрд┐ рдХреЛрдб рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ред

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рдмреАрдЪ рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ app('datatables') рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ get() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ each() рдкрд░ $questions each() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░рд╛ рдмреИрдХрдПрдВрдб рдХреЛрдб рд╣реИ:

public function questionsDatatable (Request $request)
        {
            $questions = Question::with('latest_sub_question')->whereNull('parent');
             $questions = $questions->get();

            $questions = $questions->map(function ($item, $key) {
                return is_null($item->latest_sub_question) ? $item : $item->latest_sub_question;
            });

            $questions->sortByDesc('created_at');

            $datatable = app('datatables')->of($questions)
                ->addColumn('checkbox', '<input type="checkbox" name="item_id[]" value="{{$question_id}}" id="Check_{{$question_id}}">');

                //other column modifications comes here

            return $datatable->make(true);
        }

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рд╣реИ рдпрд╛ рдирд╣реАрдВ?

рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк get рд╣рдЯрд╛ рджреЗрдВред рдиреАрдЪреЗ рдХреА рддрд░рд╣ рдХреБрдЫ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

public function questionsDatatable (Request $request)
{
    $questions = Question::with('latest_sub_question')->whereNull('parent');
    $datatable = app('datatables')->of($questions)
        ->addColumn('checkbox', '<input type="checkbox" name="item_id[]" value="{{$question_id}}" id="Check_{{$question_id}}">');
        ->editColumn('latest_sub_question', function($item) {
            return is_null($item->latest_sub_question) ? $item : $item->latest_sub_question;
        })
        //other column modifications comes here

    return $datatable->make(true);
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

NidhiDesai11 picture NidhiDesai11  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

FilipeBorges1993 picture FilipeBorges1993  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

macnux picture macnux  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jackrsantana picture jackrsantana  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alejandri picture alejandri  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ