我从我的数据库中获取一个列表(在我的控制器中):
$view["interactions"] = $this->interacties->getInteractionsId($id);
这给了一个数组,其中包含数据库中“interaction”表中的所有内容。
我使用以下foreach循环将其发布到我的视图中:
<?php if($interactions): ?>
<?php foreach($interactions as $interaction): ?>
<tr class="gradeX">
<td><a href="<?=site_url('interactie/single/'.$interaction['id'])?>"><?=$interaction['datum']?></a></td>
<td><?=$interaction['gebruikers_id']?></td>
<td><?=$interaction['gesproken_met']?></td>
<td><?=$interaction['interactie']?></td>
</tr>
<?php endforeach; ?>
<?php else: ?>
<p>Geen interacties</p>
<?php endif; ?>
这很好用,但现在我想将$interaction['gebruikers_id']
更改为我的'users'表中名为'naam'的名称。 Normaly我会得到id并使用另一个get函数。但是因为这是一个foreach循环,我不知道该怎么做。
这是模型中的功能:
public function getInteractionsId($id) {
$this->db->select('*');
$this->db->where('bedrijf_id', $id);
$query = $this->db->get('interacties');
return $query->num_rows() > 0 ? $query-> result_array() : FALSE;
}
答案 0 :(得分:1)
如果您将模型功能更改为:
public function getInteractionsId($id) {
$this->db->select('interacties.*, gebruikers.naam');
$this->db->join('gebruikers', 'interacties.gebruikers_id = gebruikers.id');
$this->db->where('bedrijf_id', $id);
$query = $this->db->get('interacties');
return $query->num_rows() > 0 ? $query-> result_array() : FALSE;
}
您可以在视图中执行此操作:
<?=$interaction['naam']?>
如果您不熟悉数据库连接的基础知识,请查看this article。
答案 1 :(得分:0)
由于您处于视图中,因此您应该只执行演示文稿,不再进行数据库调用。
您可以在控制器中以额外的foreach
循环执行此操作。
仍然,最好的选择是恕我直言,将你的方法getInteractionsId()修补为加入用户表,这样你就可以同时拥有$ interaction ['gebruikers_id']和$ interaction ['users_naam']
无论你最终如何,都要想到fat models and skinny controllers。