인접성 목록/단일 테이블 상속 모델 (id, parent_id
)을 사용하여 데이터베이스에서 모든 부모 요소를 재귀 적으로 가져 오는 가장 간단한 방법을 찾고 있습니다. mysql/php에서 id/parent_id 모델을 사용하여 레코드의 모든 부모를 얻는 가장 간단한 방법은 무엇입니까?
$sql = "SELECT
e.id,
TIME_FORMAT(e.start_time, '%H:%i') AS start_time,
$title AS title,
$description AS description,
$type AS type,
$place_name AS place_name,
p.parent_id AS place_parent_id,
p.city AS place_city,
p.country AS place_country
FROM event AS e
LEFT JOIN place AS p ON p.id = e.place_id
LEFT JOIN event_type AS et ON et.id = e.event_type_id
WHERE e.day_id = '$day_id'
AND e.private_flag = 0
ORDER BY start_time";
각 event
이 place
에 연결되어, 각 place
다른 place
(깊이 약 5 개까지 수준)
의 자녀가 될 수이 가능
:현재 선택 나의은 다음과 같습니다 mysql을 이용한 단일 select?
현재로서는 $events
배열을 반복하는 별도의 함수가 될 수 있다고 생각하고 있으므로 place_parent_X
요소를 추가하지만이를 구현하는 방법을 모르겠다.
중첩 된 세트는 db 스키마에서 변경해야하며, 이는 내 경우에는 가능하지 않습니다. – meleyal
예. 그렇다면 MySQL (액세스 권한이 없을 수도 있음)이나 PHP (지저분하고 느린)에서 재귀 적 접근 방식을 사용해야합니다. –
지저분하고 느린 것은 괜찮을 것입니다, 나는 단지 그것을하는 방법에 대한 몇 가지 조언이 필요합니다;) – meleyal