Containable 동작에 문제가 있습니다.Containable을 사용하는 CakePHP에서의 복잡한 순서 지정
주문과 같은 작업에 대해 포함 된 모델 특성에 액세스 할 수있는 방법이 있는지 알고 싶습니다.
'contain' => array(
'A' => array(
'B' => array(
'order' => 'A.integer_attribute'
)
)
)
I :
예를 들어, 내가 뭔가 같은 것 A.의 속성 (정수)를 사용하여 B의 객체를 주문할 필요가 모델 A에 속하는 모델 B가 Containable없이이 작업을 수행하는 더 쉬운 방법이 있다는 것을 알아 두십시오. 그러나 여기서 자세히 설명 할 가치가없는 이유로 사용하려면 꼭 사용해야합니다. 이것은 추상적 인 예입니다. 진실 모델 A는 다른 모델에 속하며 이것은 깊이 담을 수있는 나무의 작은 부분입니다.
나는 어떤 도움으로도 매우 기쁩니다!
OK 편집, 나는 명확하지 않고 상황을 설명하기 위해 최선을 다할 것입니다 :
을 내가 4 개 모델이 있습니다 사용자, 카테고리, 필드 및 UserField을이고 그 관계는 다음과 같습니다.
Category hasMany User
Category hasMany Field
User hasMany UserField
Field hasMany UserField
이러한 관계의 반대는 모두 belongsTo입니다. 여기에있는 목적은 사용자가 자신의 정보 (도시, 주 등)로 채우기 위해 필요한 많은 필드가있는 범주에 속한다는 것입니다. 그가 채운 정보는 UserField 테이블에 저장됩니다. 각 정보는 필드와 필드를 제공 한 사용자가 있어야하기 때문입니다.
즉, 각 카테고리에 대해 사용자 목록과 해당 정보를 표시하는 화면을 만들어야한다고했습니다. 그래서 모든 범주와 필드를 검색하므로 각 범주에 대한 표를 작성할 수 있습니다. 각 필드에는 "no_order"속성이 있습니다.이 속성은 필드가 나타나는 순서를 나타내는 숫자입니다.
동시에 테이블에 올바르게 표시하려면 모든 카테고리의 사용자가 필요합니다. 마지막으로, 문제가 있는데, 각 사용자에 대해 각 필드의 "no_order"로 UserField 객체를 정렬해야합니다. 그래서 나는 다음과 같이 끝 맺었습니다 :
그러나 UserField가 거기에서 각각의 Field의 no_order에 도달 할 수 없기 때문에 이것은 작동하지 않습니다.
이것이 명확하지 않은 경우 사과하지만,이 글을 읽는 동안 약간의 시간을 할애 해 주신 분께는 귀하의 도움에 매우 감사 할 것입니다. 사용해야
견본 데이터를 공유하고 정렬 방법을 지정해야합니다. ** ** ** ** ** ** ** ** ** ** 모든 ** B ** **가 모두 동일하게 정렬되기 때문에 설명하는 내용은별로 의미가 없습니다. 아마도 그 배열을 외부 배열 (즉, 'A'=> 배열 레벨)로 옮기기를 원할 것입니다. – AgRizzo
좋아요, 편집하고 풍경을 더 구체적으로 제공하려고합니다. – lucasnadalutti