FastAdmin后台多表联查时报错 Integrity constraint violation: 1052 Column 'status' in where clause is ambiguous
。
意思是字段status
在查询时是不明确的,起因是我在后台控制器的index方法中使用了多表关联查询,而且几个表中几乎都有status字段。
后台页面在表头上方的tab切换中使用的搜索字段是status
,当切换tabs时会报错Integrity constraint violation: 1052 Column 'status' in where clause is ambiguous
,高级搜索中也有status的查询,也会报这个错误。
解决方法很简单,打开页面对应的JS文件,找到表格的定义,在相关报错的字段前加上表名,比如status
字段,使用table_name.status
就没问题了,示例:
{field: 'order.status', title: __('Status'), searchList: {"0":__('Status 0'),"1":__('Status 1'),"2":__('Status 2'),"3":__('Status 3'),"4":__('Status 4')}, formatter: Table.api.formatter.status},