tiandi2050 2015-07-23 09:43:20 6852次浏览 2条评论 12 1 0

先在controller中直接写,记得要加上命名空间要加上:

use yii\data\ActiveDataProvider;
$query = BrandBenefit::find();
$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);

在view中:

use yii\widgets\DetailView;  //这个是针对详细内容的
use yii\grid\GridView;       //这个是针对列表的        

//DetailView,GridView嵌套着用
<?= DetailView::widget([
'model' => $model,
'attributes' => [
	//'id',
	['label'=>'所属品牌','value'=>$model->getBase_id_text()],
	['label'=>'店铺名称','value'=>$model->getStore_name()],    
	[
		'attribute'=>'店铺经营此产品型号',
		'format'=>'raw',
		'value'=>GridView::widget([
		  'dataProvider' => $dataProvider,
		  'columns' => [
				[
					'attribute' => '产品颜色',
					'value'=>function($model){
						 return ProductAttr::findOne($model->color_id)->value;
						},
				],
				[
					'attribute' => '产品大小',
					'value'=>function($model){
						return ProductAttr::findOne($model->size_id)->value;
						},
				],
				[
					'attribute' => '库存数量',
					'value'=>function($model){
						 $value=ProductAttr::findOne($model->size_id)->value;
						 return $model->count;
						},
				],                
			],
		 ]),
	],

	'sell_price',
	'store_content:raw',
],
]) ?>

// 这样就能与js,jq,ajax结合,就能做出很多不同效果
觉得很赞
您需要登录后才可以评论。登录 | 立即注册