當使用全路徑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();這樣就能夠先比較-號前的字符串的長度,若是相等再逐字符比較全字符串。排序

相關文章
相關標籤/搜索