Ich habe 2 Tabelle beigetreten, jetzt möchte ich den Namen der Kategorien im Feld <th>Categories name</th>
anzeigen. Wie kann ich das mit <?php foreach ($posts as $post){ ?>
machen? Rendere ich wie <?=$post->categories.name?>
? Ich stecke hier fest.Yii2 Anzeige Daten nach Join
Vielen Dank.
Mein Controller:
public function actionIndex()
{
$query = posts::find()->leftJoin('categories', 'posts.cate_id = categories.id');
$cates = Categories::find()->all();
$posts= $query->orderBy(['create_date' => SORT_DESC])->all();
$images = Images::find()->all();
$searchModel = new PostsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'posts' => $posts,
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
'cates' => $cates,
'images' => $images,
]);
}
Meine Ansicht:
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Create Date</th>
</thead>
<tbody>
<?php foreach ($posts as $post){ ?>
<tr>
<td><?= $post->id ?></td>
<th><?= Html::a($post->name, ['post/view', 'id'=>$post->id]) ?></th>
<td><?= $post->create_date ?></td>
</tr>
<?php } ?>
</tbody>