当使用全路径1-2之类的方式简化权限的排序时的注意点

当使用全路径1-2之类的方式简化权限的排序时,如何解决5-1比13-1大的问题?由于全路径是个字符串,比较时会逐个字符地比较,所以5-1比13-1还大,所以要增加一个字段auth_path_first_length表示-号前的字符串的长度,得出auth_path 的值后,$auth_path_first_length=strpos($auth_path,'-'), 在order搜索条件中先加入它, $authdata = $authmodel->order("auth_path_first_length asc,auth_path asc")->select();这样就可以先比较-号前的字符串的长度,如果相等再逐字符比较全字符串。

你可能感兴趣的:(当使用全路径1-2之类的方式简化权限的排序时的注意点)