CGridView の関連オブジェクトごとに個別の行が必要です。
ModelB には modelAId があるため、HAS_MANY 関係です。
次のクエリは、取得しようとしているものを返します。
select * from modelA a
join modelB b on b.modelAId = a.id
ここでは、対応する modelB 行ごとに個別の行を取得しています。modelA からのレコードが重複している可能性があります。
ただし、次のプロバイダーは期待されるレコードを返しません。CActiveDataProvider でこれを利用するにはどうすればよいですか
$provider = new CActiveDataProvider ("ModelA", array ("criteria" => array (
"with" => array("ModelB")
)
));
join "join" => "join modelB b on b.modelAId = t.id" を追加して with() を削除すると正しいレコードが返されますが、with() を含めると modelA レコードのみが返されます。
ModelB 関係の個別の行を含む ModelA からデータを取得する正しい方法は何ですか?