2013-05-04 36 views
0

行为不我看起来像这样的两个表:笨activerecords左加入如预期

Table_one 


P_id  Value 
1001  50 
1002  54 
1003  47 
1004  65 
1005  51 

Table_two 

S_id  Rating  t_id 
1001  1   1 
1002  3   1 
1001  5   2 
1004  1   2 
1005  2   2 

我想加入使用CodeIgniter的Active Record类,这两个表。这里是我的代码:

$tId = 1; 
$this->db->select('Table_one.Value, Table_two.Rating'); 
$this->db->from('Table_one'); 
$this->db->join('Table_two', 'Table_one.P_id = Table_two.S_id', 'left'); 
$this->db->where('Table_two.t_id', $tId); 
$query = $this->db->get(); 

我期待此查询提供所有5行数据从表1中的值追加到前两行的“等级”表2列。相反,我只从前两行获取数据。我如何重写代码,继续使用活动记录类来获得我的预期结果?

回答

0

您的$tid似乎是where条款中的1。这将导致仅检索前两行的值。

0

如果你想得到所有5行,你需要摆脱where子句,因为Table_two中只有两行有t_id = 1,这就是你所得到的。

0

通过看你的代码它必须返回2行...如果你想检索5行然后删除where子句。