La table "Builder"
| buc_id - buc_alimentation - buc_ram
1 - 1 - 2
La table "equipment_item"
ei_id --- ei_name --- ei_category
| 1 --- Intel Core i7 --- 2 |
La table "equipment_category"
ec_id --- ec_name
1 --- Processeur
2 --- Carte mère
Requête utilisé dans le Model :
public function select_item_for_user($bs_id){
$this->db->select('*');
$this->db->from("builder AS build");
$this->db->where('buc_builder',$bs_id);
$this->db->join('equipment AS alimentation', 'build.buc_alimentation = alimentation.ei_id');
$this->db->join('equipment AS ram', 'build.buc_ram = ram.ei_id');
return $this->db->get()->result();
}
Contrôlleur :
$data['item_category'] = $this->builder_model->select_category_item();
$data['equipment_items'] = $this->builder_model->select_item();
$data['items_config'] = $this->builder_model->select_item_for_user($bs_id);
View :
<?php foreach($item_category as $category): ?>
<div class="computer-assembly">
<div class="computer-assembly__header">
<?= $category->ec_img ?>
<div class="computer-assembly__title">
<?= $category->ec_name ?>
</div>
<a href="#" type="button" class="computer-assembly__add stretched-link" data-bs-toggle="modal"
data-bs-target="#modal_category<?= $category->ec_id ?>"><i class="fas fa-plus"></i></a>
</div>
<div class="computer-assembly__body">
<?php foreach($items_config as $builder): ?>
<div class="computer-assembly__item">
<img src="<?= img_url('components/'.$builder->ei_img) ?>">
<div class="computer-assembly__info">
<div class="computer-assembly__title-item">
<?= $builder->ei_name ?>
</div>
<a href="" class="computer-assembly__more">Fiche technique</a>
</div>
<ul class="computer-assembly__menu">
<?php if(!empty($builder->ei_info)): ?>
<li>
<button data-bs-toggle="modal" data-bs-target="#modal_info_item<?= $builder->ei_id ?>" class="computer-assembly__info-btn"><i class="fas fa-info-circle"></i></button>
</li>
<?php endif; ?>
<li>
<button class="computer-assembly__edit" data-bs-toggle="modal" data-bs-target="#modal_category<?= $category->ec_id ?>"><i class="fas fa-pen"></i></button>
</li>
<li>
<button class="computer-assembly__delete"><i class="fas fa-times"></i></button>
</li>
</ul>
</div>
<?php endforeach; ?>
</div>
</div>
Ce que je veux
Je voudrais que pour chaque catégorie, l'équipement y soit associé.
Exemple : l'équipement "Intel Core i7" dans la catégorie Carte mère.
Le problème, c'est que je n'arrive pas à différencier la RAM avec l'alimentation dans mon foreach.
Je voudrais savoir si je m'y prends de la bonne manière ? Comment obtenir une jointure de chaque élément sur une même table et de tout afficher dans un foreach ?
Ce que j'obtiens
Hors, avec mes requêtes, j'obtiens une seule ligne identique sur chaque catégorie.
N'hésitez pas à me poser des questions si je n'ai pas été assez claire
Merci d'avance pour votre aide.