Я пытаюсь реализовать концепцию словаря, который я использую в c #, чтобы собрать несколько записей на основе нескольких идентификаторов. Но я вряд ли найду такую вещь в рамках codeigniter. У меня есть таблица курса и другая таблица именования course_prices. Теперь каждый курс имеет несколько цен. И я пытаюсь отобразить с помощью начальной загрузки, указав название курса в качестве заголовка аккордеона и список цен в разделе содержимого.
Поскольку я не смог найти здесь понятие словаря, я попытался написать запрос на соединение, но это не помогло. Детали курсов повторяются.
Ниже мой код
$this->load->model('Courses_model', 'Courses');
$model = $this->Courses;
$records = $model->setAlias('c')
->find()
->select('c.*,cp.Id as PriceId')
->join('course_price AS cp', 'c.id = cp.CourseId')
->get()
->result_array();
А это мнение
<?php if(empty($courses)){ print_r("no class available"); } else{ print_r($courses); foreach ($courses as $k => $course) { ?>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading<?=$k?>">
<h4 class="panel-title">
<a class="" role="button" data-toggle="collapse" data-parent="#accordion9" href="#collapse<?=$k?>" aria-expanded="true" aria-controls="collapseOne9">
<?= $course->name ?>
</a>
</h4>
</div>
<div id="collapse<?=$k?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading<?=$k?>">
<div class="panel-body">
<?php foreach ($course->course_price as $key => $price) {?>
<div class="custom-controls-stacked">
<div class="custom-control custom-radio">
<input name="class" id="class_1<?= $k ?>" type="radio" class="custom-control-input" value="<?= $price->PriceId; ?>" required>
<label for="class_<?= $k ?>" class="custom-control-label">Drop In Price <?= $course->price ?></label>
</div>
</div>
</div>
</div>
</div>
<?php } }?>