脚本宝典收集整理的这篇文章主要介绍了php – 如何在yii2中显示网格视图中另一个表的数据?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
public function actionIndex() { $query = new \yii\db\Query; $query->select(['member.FirstName','complaint.practiceCode','complaint.id','complaint.description','member.firstName']) ->From(['complaint']) ->innerJoin(['member','complaint.memberID = member.id']) ->groupBy(['complaint.id']) ->where(['complaint.deleted' => 'N']); $query->createCommand();
这里我通过创建$dataProvider4来传递数据,但是我无法设置firstName而不是memberID的值.
$dataProvider4= new ActiveDataProvider([ 'query' => $query,'pagination' => false,]); return $this->render('index',[ 'dataProvider4'=>$dataProvider4]); <?= GridView::widget([ 'dataProvider'=>$dataProvider4,'summary'=>'total'.'&nbsp<b>'.$complaintModel.'</b> '.'Complaints','columns' => [ ['class' => 'yii\grid\SerialColumn'],'practiceCode',// 'memberID','description','status',],]); ?>
我通过dataProvider传递数据.
public function actionIndex() { $query = Member::find()-> ->select(['firstName',complaint.practiceCode',complaint.id','complaint.description']) ->groupBy(['complaint.id']) ->joinWith('complaints')//Tells Yii to use the complains relation that we define below. By default it is an inner join ->where(['complaint.deleted' => 'N']); $dataProvider= new ActiveDataProvider([ 'query' => $query,]); return $this->render('index',[ 'dataProvider4'=>$dataProvider]);
在您的模型中,您需要定义可在查询中使用的关系;
public function getComplaints(){ return $this->hasmany(Complaints::classname(),'memberID' => 'id'); }
这很有用,因为它可以让您在不必编写自己的查询的情况下获得投诉.
Yii将为您整理所有列名,并编写查询.
以上是脚本宝典为你收集整理的php – 如何在yii2中显示网格视图中另一个表的数据?全部内容,希望文章能够帮你解决php – 如何在yii2中显示网格视图中另一个表的数据?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。