【问题标题】:Multiple Joins in Grid网格中的多个联接
【发布时间】:2011-08-31 19:44:34
【问题描述】:

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

非常感谢

【问题讨论】:

  • 但是为什么同一张桌子有 2 个 fks?
  • 我想我不明白。你认为这是错误的吗?

标签: atk4


【解决方案1】:

您可以执行两个连接。

 // 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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-26
    • 2014-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2012-10-22
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多