gpt4 book ai didi

listview - yii2中如何使用显示两个表的数据

转载 作者:行者123 更新时间:2023-12-03 22:21:17 24 4
gpt4 key购买 nike

我的项目MainAdsAdsImage中有2个表,其结构如下

MainAds       AdsImage

id id
category main_ads_id
description image
title
price

我有以下 ListView

<div class="container">
<div class="row">
<div class="item">
<div class="well">
<img class="img-responsive" src="http://placehold.it/700x400" alt="">
<span>$21.00</span>
<h4>
<a href="#">Project Name</a>
</h4>
</div>
</div>
</div>
</div>

这只是一个模板,我想显示表 advertisement 中的所有数据,那么我该怎么做呢?那么我怎样才能将该数据显示到 View 文件中

到目前为止我已经试过了,但我不能正常工作

<?php foreach ($dataProvider->models as $model) {
echo "<div class='item'>" +
"<div class='well'>" +
"<img class='img-responsive' src='../uploads'.'$imagemodel->image'. alt=''>" +
"<span>$21.00</span>" +
"<h4>" +
"<a href='#'>Project Name</a>" +
"</h4>" +
"</div>"+
"</div>";
}
?>

是在 View 文件或其他东西上显示数据的正确方法

我知道如何使用 detailview 来做到这一点,但我不知道如何在使用不同模型的 View 页面上使用自定义布局。

我尝试了 Double H 在下面的回答中提出的建议,但出现如下错误

http://i.stack.imgur.com/UcVtR.png

最佳答案

MainAds 模型中创建一个关系:-

public function getAdsImage(){
$this->hasOne(AdsImage::className() ,['id' => 'main_ads_id']);
}

制作一个 Controller Action Index as

public function actionIndex(){
$query = Addresses::find()->joinWith(['adsImage']);

$dataProvider = new ActiveDataProvider([
'query' => $query,

]);
return $this->render('index' ,['dataProvider' => $dataProvider]);
}

index.php中查看

<?= \yii\widgets\ListView::widget([
'dataProvider' => $dataProvider,
'itemView' => 'listview'
]); ?>

将您的 listview.php 文件更改为

<div class="container">
<div class="row">
<div class="item">
<div class="well">
<?php if(ArrayHelper::getValue($model->adsImage,'image') !== null):?>

<?= \yii\helpers\Html::img($model->adsImage->image,['class' => 'img-responsive' ,'alt' =>''])?>

<?php endif; ?>
<span>$<?= $model->price?></span>
<h4>
<a href="#"><?= $model->title?></a>
</h4>
</div>
</div>
</div>
</div>

关于listview - yii2中如何使用显示两个表的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33490769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com