如何使用Yii Booster配置TbRelationalColumn?

时间:2015-06-05 08:13:34

标签: php yii yii-extensions

当我点击表格行(TbRelationalColumn)时,我想从yii booster实现extendgridview以显示来自另一个表的相关id。

在网站上提供的文档并不足以让我了解如何配置控制器和模型。 http://yiibooster.clevertech.biz/extendedGridView#extendedgridview

我有2张桌子:1个游览和1个游览细节。 表格浏览中的pk是tour_id,tourdetails中的FK是tour_id 在我的模型中我有游览细节

  public function relations() {
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
            return array(
                  'tours' => array(self::BELONGS_TO, 'tours', 'tour_id'),

            );
        }

在我的导游控制器中我有

   $criteria = 'guide_id=' . Yii::app()->user->id;
$dataProvider = new CActiveDataProvider('Toursextra', array(
    'criteria' => array(
        'condition' => $criteria,
        'order' => 'date ASC',
    ),
));




  public function actionRelational()
{
    // partially rendering "_relational" view
    $this->renderPartial('_relational', array(
        'id' => Yii::app()->getRequest()->getParam('id'),
        'gridDataProvider' => $this->getGridDataProvider(),
        'gridColumns' => $this->getGridColumns()
    ));
}

在视图中我有

    $this->widget('booster.widgets.TbExtendedGridView', array(
    'type'=>'striped bordered',
    'dataProvider' => $dataProvider,
    'template' => "{items}",
    'columns' => array(
        array(
            'class'=>'booster.widgets.TbRelationalColumn',
            'name' => 'count',
            'url' => $this->createUrl('tours/relational'),
            'value'=> '"test-subgrid"',

        )
    ),
));

在视图游览/关系中我有

<?php

echo CHtml::tag('h3',array(),'RELATIONAL DATA EXAMPLE ROW : "'.$id.'"');
$this->widget('booster.widgets.TbExtendedGridView', array(
    'type'=>'striped bordered',
    'dataProvider' => $dataProvider,
    'template' => "{items}",
    'columns' => 'money',
));

当我实现解决方案时,我得到一个错误,我不明白这是如何工作的,你在哪里以及如何设置PK,或者我不知道,为什么我会收到错误,如果你们需要更多细节请让我知道。

1 个答案:

答案 0 :(得分:0)

在您的视图游览/关系中,您调用$ dataProvider但它不在函数actionRelational中。如果视图中出现错误,Yiibooster会写错误。