"1-3, 4, 5, 6-10, 12-15"등의 값을 가진 'pages'열이 있는데 배열을 정렬하고 싶습니다.CakePHP에서 Virtual Property로 배열을 정렬하는 방법이 있습니까?
그러나 결과가 올바르지 않습니다 : "12-15, 1-3, 4, 5, 6-10".
protected $_virtual = ['proper_order'];
protected function _getProperOrder()
{
return intval(strtok($this->_properties['pages'], '-'));
}
을하지만, 모든 가상 속성을 사용하여 배열을 정렬 할 수있는 방법이있다 :
그래서 나는 거 같은 가상 속성을 만들거야 알아 냈어?
두 가지 옵션이 있습니다. 첫 번째 옵션은 db에서 배열로 결과를 모두 가져온 다음 정렬하는 것입니다. 여기서는'usort'와 당신의'-> properOrder' 필드를 사용할 수 있습니다. 두 번째는'substr','pos'와 같은 문자열 함수를 사용하여 db 레벨에서 정렬하는 것입니다. 첫 번째 숫자를 자르십시오. – teran