我将一组对象传递给视图,包括一些外部 ID 到数据库中的其他表。说具有属性“writer_id”的评论对象,该属性指的是用户的 id。
如何从视图中显示用户的数据(例如名称)?
这是控制器的“评论”:
function index() {
$this->load->model('comment_model');
$data['comments'] = $this->comment_model->get_comments();
$this->load->view('comments',$data); }
这是在 comment_model 里面:
function get_comments()
{
$id = $this->uri->segment(3); // ignore this , it's given
$q = $this->db->query("SELECT * FROM comments WHERE post_id=$id");
if ($q->num_rows() > 0 ) {
foreach ($q->result() as $row){
$data[] = $row;
}
return $data;
}
}
我可以在视图中使用的只是“writer_id”,并且无法显示他的姓名或任何其他数据。
更新
这是视图文件
<?php
if (is_array($comments)){ ?>
<?php foreach ($comments as $comment) : ?>
<p>
<?php echo $comment->text;?> - written by <?php echo $comment->writer_id ?>
</p>
<?php endforeach ;?>
<?php } ?>
这将打印:
bla bla bla - 由 4 编写
它应该在哪里
bla bla bla - 由 John 编写(其 id 为 4,在用户表中)