App\Ninja\Datatables\EntityDatatable::columns PHP Method

columns() public method

public columns ( )
    public function columns()
    {
        return [];
    }

Usage Example

 /**
  * @param EntityDatatable $datatable
  * @param $query
  * @return \Illuminate\Http\JsonResponse
  * @throws \Exception
  */
 public function createDatatable(EntityDatatable $datatable, $query)
 {
     $table = Datatable::query($query);
     if ($datatable->isBulkEdit) {
         $table->addColumn('checkbox', function ($model) {
             $can_edit = Auth::user()->hasPermission('edit_all') || isset($model->user_id) && Auth::user()->id == $model->user_id;
             return !$can_edit ? '' : '<input type="checkbox" name="ids[]" value="' . $model->public_id . '" ' . Utils::getEntityRowClass($model) . '>';
         });
     }
     foreach ($datatable->columns() as $column) {
         // set visible to true by default
         if (count($column) == 2) {
             $column[] = true;
         }
         list($field, $value, $visible) = $column;
         if ($visible) {
             $table->addColumn($field, $value);
             $orderColumns[] = $field;
         }
     }
     if (count($datatable->actions())) {
         $this->createDropdown($datatable, $table);
     }
     return $table->orderColumns($orderColumns)->make();
 }