그래서 나는 ID로 연결하는 테이블의 모든 값을 반복하려고합니다. 4 개의 테이블이 관련되어 있으며 첫 번째 테이블의 ID에 따라 각각의 값을 모두 얻으려고합니다. 지금까지 제가 가지고있는 코드는 다음과 같습니다. 배열에 여러 테이블 값 넣기
$course = $this->db->query("SELECT * FROM courses");
// Put Courses into array
foreach ($course->result() as $row)
{
$courses['id'] = $row->id;
$courses['course_name'] = $row->course_name;
// Put Topics into array
$topic = $this->db->query("SELECT * FROM course_topics WHERE course_id = 5");
foreach ($topic->result() as $row)
{
$topics[] = array(
'id' => $row->id,
'course_id' => $row->course_id,
'topic_name' => $row->topic_name,
'order' => $row->order
);
// Put badges into array
$badge = $this->db->query("SELECT * FROM course_topic_badges WHERE topic_id = ".$row->id);
foreach ($badge->result() as $row)
{
$badges[] = array(
'id' => $row->id,
'topic_id' => $row->topic_id,
'badge_name' => $row->badge_name
);
// Put dotpoints into array
$dotpoint = $this->db->query("SELECT * FROM course_topic_dotpoints WHERE badge_id = ".$row->id);
foreach ($dotpoint->result() as $row)
{
$dotpoints[] = array(
'id' => $row->id,
'badge_id' => $row->badge_id,
'dotpoint' => $row->dotpoint,
'viddler_video_id' => $row->viddler_video_id,
'viddler_openurl' => $row->viddler_openurl,
'order' => $row->order
);
}
}
}
}
그래서 기본적으로 최고의 패션 :
에서 수행되지 않는 일부 라인이 될 수 있도록 내가 잠시 동안 하구 봤는데 (PS 나는 CodeIgniter의 데이터베이스 방법을 사용하고 있습니다) 나중에 배열을 반복 할 필요가 있지만 실제로 채우기위한 가장 좋은 방법은 확실하지 않습니다.
도움을 주셔서 감사합니다.
놀라워요! 그것은 매우 도움이되고, 일을하는 훨씬 더 좋은 방법을 보여줍니다. 이 배열을 반복하는 가장 좋은 방법은 무엇입니까? – Sneaksta
다행이었습니다. 중첩 루프를 사용하여 결과 데이터를 사용자가 작성한 방식과 유사한 방식으로 반복 할 수 있습니다. – ghbarratt
나의 답변에 대한 최근 관심사는 주제와는 별도로 배지를 나열하는 등 자신의 프레젠테이션에 다른 데이터 엔티티 (표)를 제시하고자 할 수 있다는 것입니다. 그렇다면 사실 각각의 배열을 개별적으로 구축하는 것이 더 합리적입니다.하지만 부모님의 ID를 포함하는 것을 보았을 때 관계를 유지하는 데 관심이 있다고 생각해서 결정했습니다. 그것을 처리 할 배열을 만들 수 있습니다. 나는 이것을 기록하기 위해 작은 편집을하고있다. – ghbarratt