如何在杂货店中进行自定义列排序

时间:2015-06-04 10:12:57

标签: codeigniter grocery-crud

在我的控制器功能中,我添加了一个名为' PC-MB'的自定义列,该列在数据库中不存在。使用行中的其他值动态计算该值。哪个工作正常。 我的问题是 - 如何使此列可排序。默认情况下,它不可排序。

$this->load->library('grocery_crud');
$crud = new grocery_CRUD();
$crud->where('is_history',0);
$crud->where('category',"HighwayStats");
$crud->set_table('hwdata');
$crud->order_by('last_update');
$crud->set_subject('Highway Data');
$crud->columns('name',  'last_update', 'PC-MB');
$crud->callback_column('PC-MB',array($this, '_totalpc_callback') );
$gcrud_output = $crud->render();

1 个答案:

答案 0 :(得分:0)

似乎服务器端不存在新字段PC-MB。它是您尝试在运行时创建的字段。在Felxigrid中,观察到,顺序也设置在服务器端而不是客户端。并且由于该字段实际上不存在,因此对订购该字段没有任何影响。

您可以选择其他选项,您可以选择继续使用数据表主题。那里你将有客户端排序。

如果你可以在firebug上调试,你会看到

  

500内部服务器错误

以及像这样的回复中的一些文本

  

发生数据库错误

     

错误号码:1054

'order clause'中的未知列'PC-MB'

SELECT hwdata。*   来自hwdata   ORDER BY PC-MB asc    限制50