2010-11-15 18 views
0

我有2個班級 - 學生和有多對多關係的組。在學生頁面上,我想顯示他的所有詳細信息,並列出他所屬的所有組,並用逗號分隔。 這是我的學生控制器:List對象屬性在CodeIgniter中用逗號分隔DataMapper OverZealous Edition

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
<?php 
    $first = true; 
    foreach ($student->groups as $group) : 
    if (! $first) echo ', '; 
    echo anchor("/groups/$group->id", $group->name); 
    $first = false; 
    endforeach; 
?> 
0
<?php echo anchor("/groups/$group->id", $group->name) ?> 

應該成爲(參見逗號在該行的末端)

<?php echo anchor("/groups/$group->id", $group->name) ?> , 

或顯示用戶組作爲一個列表:

應該成爲

<ul> 
<?php foreach ($student->groups as $group) : ?> 
    <li><?php echo anchor("/groups/$group->id", $group->name) ?></li> 
<?php endforeach; ?> 
</ul>