2013-09-26 2 views
2

이 질문이 여기에 해당되는지 확실하지 않습니다. 그렇지 않다면 실례지만 삭제하겠습니다.더 깨끗한 문제 해결을위한 아이디어

저는 Symfony2, Twig 및 Doctrine을 사용하고 있습니다. 나는 훈련으로 할일 응용 프로그램에서 일하고 있어요 및 웹 페이지는 다음과 같습니다

Today (5 tasks) 
- Work (2 tasks) 
    - clean the desk 
    - write report 
- Home (3 task) 
    - Pay (2 tasks) 
    - Internet 
    - Electricity 
    - Buy (1 task) 
    - Eggs 

Completed (1 task) 
- Work 
    - Talk to boss 

나는 상태 범주 ​​(직장과 가정), 하위 (지불하고 구입) 및 작업을 (완료 여부)

내 문제는 나머지 작업을 계산하는 것입니다.

수는 순서, 작업 전에 표시되어 있기 때문에 내가 같은 것을 할 그것을 알고 :

for each main_category 
    if the main_category has subcateries 
    count = 0 
    for each subcategory 
     for each task of the subcategory if the task.status is 0 (uncompleted) 
     set count = count + 1 
     endfor 
    endfor 
    else 
    count = 0 
    for each task of the category if the task.status is 0 
     set count = count + 1 
    endfor 
    endif 
endfor 

(I가 작동 모르겠어요,하지만 난 당신이 아이디어를 가지고 생각합니다.)

나는 페이지가 새로 고침 될 때마다 이것을 보완하고 느리게 생각한다고 생각합니다.

내가 생각할 수있는 다른 옵션은 카테고리 엔터티에 새로운 필드를 추가하는 것입니다 (완료되지 않은 작업의 수 또는 완료 및 완료되지 않은 숫자가 필요할 수 있음). 그러나 그때마다 작업의 상태를 변경할 때마다 번호를 변경해야합니다.

솔직히 말하면, 더 빠르고 더 잘 될 것이라는 아이디어가 필요합니다. (그래서 저는이 질문을하고 있습니다.) 그러나 첫 번째 것은 실제로 보완되고 이해하기 어려운 것 같습니다.

이 기능을 얻는 방법에 대해 더 잘 알고 있다면 아이디어를 얻을 수 있습니까? 그렇지 않은 경우 - 어떤 방법이 더 빠르다는 것이 더 빠를 것인지 등등. 나는 양질의 코드를 작성하는 법을 배웠다. :)

대단히 감사합니다!

+0

엔티티에서 oneToMany 관계를 사용한다고 가정합니다. –

+0

예, 언급하는 것을 잊었습니다. 범주와 하위 범주에는 OneToMany 관계 (자체 참조)가 있습니다. 하위 범주는 범주이기도합니다. 범주 및 작업에는 OneToMany도 있습니다. – Faery

+0

정말로하고 싶은 것이 확실하지 않습니다. 불완전한 작업을 계산하는 것은 쉽습니다. 귀하의 요구 사항은 무엇입니까? – Pradeep

답변

0

Here은 도움이 될만한 것입니다. 아이디어는 추가 된 작업 수를 갖는 카테고리에 대한보기를 만드는 것입니다. 따라서 결과에 포함 된 알림 개수와 함께 필요한 데이터를 반환하는보기를 만들 수 있습니다. 하위 카테고리의 중첩 된 태스크 수를 추가해야합니다. 뷰를 쿼리하면 일반적인 테이블보다 조금 느려질 수 있지만 많은 반복보다 빠를 것이라고 생각합니다. 실행 시간 중 일부를 SQL 서버로 옮길 수도 있습니다. 그렇게하는 것이 좋습니다.

관련 문제