Skip to main content

Active - inactive zetten van een object

Je wilt een onbect hidden maken of op een of andere manier uit zetten.

In de table maak je dan een extra kolom, bijvoorbeeld
actief, type boolean, default = 1
Dan pas je het model aan:
public function rules() {
...
[['grade'], 'integer'],
...
public function attributelabels()
...
'actief' => 'Actief'
Code in de standaard grid view index
[
'attribute'=>'actief',
'contentOptions' => ['style' => 'width:10px;'],
'format' => 'raw',
'value' => function ($data) {
$status = $data->actief ? '&#10004' : '10060';
return Html::a($status, ['/student/toggle-actief?id='.$data->id],['title'=> 'Toggle Status',]);
}
],
Functie/method in controller
public function actionToggleActief($id) {
// function toggles boolean actief
$sql="update student set active=abs(active-1) where id = :id;";
$params = array(':id'=> $id);
Yii::$app->db->createCommand($sql)->bindValues($params)->execute();
return $this->redirect(Yii::$app->request->referrer);
}

Laatset regel is een return naar de previous page. Dit zorgt ervoor dat de selectie in de grid view behouden blijft.

Cést tout!