0

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

我有下一个问题..

我有一个表,其中有两个 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() 但没有成功。对于我做错的事情,我可以提供一些帮助或一些指导吗?

非常感谢

4

1 回答 1

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');
于 2011-08-31T21:55:59.267 回答