数据表服务器端使用别名

时间:2018-04-26 14:25:44

标签: jquery datatables datatables-1.10

祝贺DT。好工作。 我有一种情况: 使用服务器端,我需要使用"别名"对于列,因为连接位于同一个表中:

表位置 位置来源 位置命运

所以,在$ joinQuery中: ..

LEFT JOIN localidad GO ON A.mxv_loc_ori_fk = GO.loc_id
LEFT JOIN localidad GD ON A.mxv_loc_dest_fk = GD.loc_id

...

并且,在$ columns中:

array(
       array( 'db' => '(`GO`.`loc_nombre`) as origen', 'dt' => "origen", 'field' => 'origen'),
       array( 'db' => '(`GD`.`loc_nombre`) as destino', 'dt' => 'destino', 'field' => 'destino' )
);

**而且,在JS中:**

"columns": [
    {"data":"origen"},
    {"data":"destino"}
]

此时一切都好!列正确显示信息。 问题是在我尝试搜索和过滤时。 我无法理解为什么,但它不起作用!

请帮忙!

1 个答案:

答案 0 :(得分:0)

好的,这是我对问题的解决方法:

在mysql中为" localidad"创建一个视图(例如:view_localidad),因此SQL服务器端部分更改为:

LEFT JOIN view_localidad GO ON A.mxv_loc_ori_fk = GO.vloc_id
LEFT JOIN localidad GD ON A.mxv_loc_dest_fk = GD.loc_id

目前,效果很好!