2015-07-05 4 views
1

У меня есть таблица Have_Schedule (многие-ко-многим отношений) в базе данных, которая содержит внешний ключ из таблиц:Yii2: Установка двух значений ключа в SqlDataProvider

Таблица студент: student_id, student_name

Таблица график работы: sch_id, sch_day, sch_time

и

Таблица Have_Schedule: student_id, sch_id

И я хочу, чтобы создать DataProvider используя SqlDataProvider как этот

$dataProvider = new SqlDataProvider([ 
      'sql' => $sql, 
      'totalCount' => $n, 
      'key' => '', // <--------- the key 
      'sort' => [ 
       'attributes' => [ 
        'student_name', 
        'sch_day', 
        'sch_time', 
       ], 
      ], 
      'pagination' => [ 
       'pageSize' => 20, 
      ], 
     ]); 

Ключ будет использован для ActionColumn, пример: /view?student_id=1&sch_id=2.

Как установить значение ключа с помощью student_id и sch_id?

ответ

0

Самый простой способ не создавать/использовать ActionColumn, вместо этого вы можете использовать забортной колонку и показать там, что вы хотите:

[ 
    'attribute' => 'some_title', 
    'format' => 'raw', 
    'value' => function ($model) {      
     return '<a href="'.$yourUrl .'">your Text</a>'; 
    }, 
], 
+0

Тогда как я мог бы получить соответствующую запись, чтобы удалить ??? – Bhuvanesh

+0

@Bhuvanesh, пожалуйста, напишите новый правильный вопрос с кодом, который вы используете, и некоторое лучшее объяснение того, что вам нужно, и в конце концов прокомментируйте мне ссылку на новый вопрос – scaisEdge