Doctrine ORM과 Symfony에서 통하는 일대일 관계를 어떻게 구현해야합니까? 데이터베이스에 몇 개의 폴더가 있다고 가정합니다. 각 폴더는 기본 아이콘 또는 다른 테이블에 표시된 사용자 정의 아이콘을 가질 수 있습니다. 이 관계를 스키마 파일에 어떻게 설명해야합니까? 주어진 폴더 관계가 발생했는지 또는 발생하지 않았는지 어떻게 알 수 있습니까? Doctrine ORM과의 관계 성
는 나 자신 추측을 가지고 있지만, 각각은 매우 좋지 않아 보인다 :1)의 내가 id
열 및 folder
테이블에 folder_icon_id
열이 folder_icon
테이블을 정의하고 외래 키와 함께 이러한 열을 연결한다고 가정 해 봅시다. folder_icon_id
에 NULL이 있으면 관계가 발생하지 않습니다. 정수 값이 포함되어 있으면 각 폴더 아이콘을 가리 킵니다. 이런 식으로 구현하고 $ folder-> getFolderIcon()과 같은 것을 사용하여 폴더 아이콘을 얻으려고하면 null로 설정된 필드가있는 FolderIcon 클래스의 인스턴스를 얻습니다 (NULL, FALSE 또는 Doctrine_Null과 같은 것을 얻으려고합니다).). 왜 그래야만하지? 반환 된 객체가 '실제'폴더 아이콘이 아닌지 어떻게 확인해야합니까?
2) 앞에서 설명한 것과 비슷한 방법을 사용한다고 가정 해 보겠습니다. 먼저 folder_icon
테이블의 첫 번째 행을 기본 아이콘으로 정의하여 선택한 사용자 지정 아이콘이없는 각 폴더가이 첫 번째 행과 관련되도록합니다. 이 경우에는 FolderIcon 클래스의 더미 인스턴스를 가져 오는 데 아무런 문제가 없습니다. 그러나 삭제 된 아이콘을 기본 아이콘과 함께 사용하는 모든 폴더와 관련된 onDelete 동작 'SET 1'이 없기 때문에 사용자 지정 폴더 아이콘이 양식 데이터베이스에서 제거되면 문제가 발생합니다.
이 문제를 어떻게 해결해야합니까? 스키마 파일에서 이러한 종류의 관계를 정의하는 올바른 방법은 무엇입니까? 마법의 방법이
은 $ 폴더 -> folder_icon를 사용하고 그 관계 사용는 isset의 존재 여부를 테스트하는 getVariable와
위대한, 그게 내가 찾고있는 것입니다. 따라서 스키마를 기술하고 isset ($ folder-> FolderIcon)을 사용하여 주어진 폴더에 대한 관계가 존재하는지 확인하는 첫 번째 방법을 따라야합니다. 감사! –