我有2个班级 - 学生和小组有多对多的关系。在学生页面上,我想显示他所有的详细信息,并列出他所属的所有组,用逗号分隔。 这是我的学生管理员:
class Students extends Controller {
function __construct() {
parent::__construct();
}
function index() {
$this->get_all_students();
}
function get_all_students() {
$s = new Student();
$data['students'] = $s->select('id, name, email')->get();
$this->load->view('students', $data);
}
function view($id) {
$s = new Student();
$s->get_by_id($id);
$s->groups->get();
$data['student'] = $s;
$this->load->view('student_view', $data);
}
}
我可以在student_view中获取学生的详细信息:
Name: <?php echo $student->name; ?>
E-mail: <?php echo $student->email; ?>
Groups:
<?php foreach ($student->groups as $group) : ?>
<?php echo anchor("/groups/$group->id", $group->name) ?>
<?php endforeach; ?>
那么,如何列出用逗号分隔的组?我尝试将组名添加到控制器中的数组中,然后在视图中添加<?php echo implode(', ', $groups); ?>
。但是这样我就无法使用组ID建立链接。
答案 0 :(得分:0)
<?php echo anchor("/groups/$group->id", $group->name) ?>
应该成为(参见行尾的逗号)
<?php echo anchor("/groups/$group->id", $group->name) ?> ,
或将用户组显示为列表:
<?php foreach ($student->groups as $group) : ?>
<?php echo anchor("/groups/$group->id", $group->name) ?>
<?php endforeach; ?>
应该成为
<ul>
<?php foreach ($student->groups as $group) : ?>
<li><?php echo anchor("/groups/$group->id", $group->name) ?></li>
<?php endforeach; ?>
</ul>
答案 1 :(得分:0)
<?php
$first = true;
foreach ($student->groups as $group) :
if (! $first) echo ', ';
echo anchor("/groups/$group->id", $group->name);
$first = false;
endforeach;
?>