複数のjoinWithsの後でアクティブレコードの各レコードを取得する方法は?YII2 joinwithの後に各レコードを取得する方法
$model = \common\models\opcr\OpcrKra::find()
->joinWith('opcrRoObjectives')
->joinWith('opcrRoObjectives.opcrFdObjectives')
->joinWith('opcrRoObjectives.opcrFdObjectives.opcrIndividuals');
私はTrying to get property of non-object
エラーを受け取ります。
foreach ($model->all() as $row) {
echo "<tr>"
. "<td></td>"
. "<td>" . $row->kra . "</td>"
. "<td>" . $row->opcrRoObjectives->id . "</td>" // error here
. "</tr>";
}
私は$row->count()
を表示しようとしましたが、それは私が期待されるレコードだけ正確な数を与えました。あなたのビューで次に
$model = \common\models\opcr\OpcrKra::find()
->joinWith('opcrRoObjectives')
->joinWith('opcrRoObjectives.opcrFdObjectives')
->joinWith('opcrRoObjectives.opcrFdObjectives.opcrIndividuals')
$result = $model->asArray()->all();
:
OpcrRoObjectivesがOpcrKraレコードごとに存在していますか? 'joinWith'はLEFT JOINを適用します。 –