网格中的多个连接

时间:2011-08-31 19:44:35

标签: atk4

我可以在网格中使用连接,但是对于单个字段。

我有下一个问题..

我有一个表有两个id字段引用其他表上的相同字段。

示例:

table1 id,name 
table2: iduser1,iduser2 (both are fk to id on table1). 

我在表1中有这个值

id: 1 -> name: user1 
id: 2 -> name: user2 

并且在table2上我有一对值1,2

iduser1: 1
iduser2: 2

如果我像这样加入

$g->dq->join('table1','table1.id=table2.iduser1')->field('table1.name iduser1')->field('table1.name iduser2')
$g->addColumn('text','iduser1');
$g->addColumn('text','iduser2');

结果是网格上的user1名称两次,但不是user1,user2

我已经测试过添加另一个join()但没有成功。 关于我做错了什么,我可以得到一些帮助或指点吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以执行两个连接。

 // primary table
$grid->setSource('table1');

 // Joins all tables
$grid->dq->join('table2','table2.iduser1=table1')
      ->join('table1 user2');

 // This is how you add fields from linked table
$grid->dq->field('user2.name name2');
$grid->addColumn('text,'name2','Linked User');