0

グリッドで結合を使用できますが、単一のフィールドに対してです。

次の問題があります..

他のテーブルの同じフィールドを参照する 2 つの 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 の名前が 2 回表示されますが、user1,user2 ではありません

別の join() を追加することをテストしましたが、成功しませんでした。私が間違っていることについて、助けや方向性を教えてもらえますか?

どうもありがとう

4

1 に答える 1

0

2つの結合を実行できます。

 // 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 に答える