如何在yii2中连接表

时间:2018-01-10 11:24:21

标签: join gridview yii2

我的项目公司和联系人中有两张桌子。 公司表内容公司ID,名称,网站等。 联系公司员工的姓名,姓氏,电子邮件。

当我点击公司名称时,我应该获得该公司的员工联系人。 例如“select * from contacts where company id = $ id”

公司/ index.php的

$gridColumns = [
                    ['class' => 'yii\grid\SerialColumn'],
                    ['class' => 'yii\grid\CheckboxColumn'],
                    'name', // onclick of name ,how to open contacts table containing that 'name'
                    'company_mail',
                ];

 echo GridView::widget([
                'tableOptions' => ['id' => 'companies_grid_table',
                'class' => 'table table-striped table-bordered table-hover'],
                'id'=> 'companies_grid_display',
                'dataProvider' => $dataProvider,
                'filterModel' => $searchModel,
                'columns' => $gridColumns,
            ]); 

这是公司表,当点击公司名称时,另一个名为“contact”的表应该打开 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我明白了......试试这个:

<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
    [
        'attribute' => 'name',
        'format' => 'raw',
        'value' => function ($data) {
            return Html::a($data->name, ['/custom-url/contacts', 'ContactSearch[company_id]' => $model->id]);
        },
 ]]]); ?>