所以我会有四张桌子
title(table)
演员(表)
title_actor(table)
我的控制器(为此我决定不使用模型)
public function list_title_detalis($id)
$this->db->select('*');
$this->db->from('title a');
$this->db->join('director', 'director.id_director = a.id_director');
$this->db->join('title_actor', 'title_actor.id_title = a.id');
$this->db->join('actor b', 'b.id_actor= title_actor.id_actor');
$this->db->where('a.id',$id);
$query = $this->db->get();
$data['iten'] = $query->result();
$this->load->view('title_detail_view', $data);
我的观点
foreach ($iten as $title){
echo '<p>'.($title->title_name).'</p>';
echo "<a href='" . base_url() .'directors/detail/' . $title->id_director. "'>";
echo '<p>'.($title->name_director).'</p>'; // It's correct!!!
echo "<a href='" . base_url() .'actors/detail/' . $title->id_actor. "'>";
echo '<p>'.($title->name_actor).'</p>';
}
是这样的吗?
答案 0 :(得分:0)
您应该更改这些表的设计 - 而不是拥有一堆名为id_actor(x)的列,您应该添加一个将标题连接到actor的新表。这称为联结表,它解决了多对多关系的问题。
表很简单 - 它只有三列(id,id_title和id_actor)。这种结构允许你拥有从零到无限数量的演员的标题。