2015-11-09 3 views
0

Как я могу установить записи, которые я хочу удалить, вместо 1, вместо того, чтобы удалять запись? Я использую структуру Yii прямо сейчас, и я новичок в этом. У меня есть CGridview с обновлением, просмотром и удалением. При удалении я хочу, чтобы пользователь установил записи, которые они хотят удалить, до 1, вместо удаления всей записи. Заранее благодарю за любую помощь, которую вы можете предоставить!Установить удаленные записи = 1 без фактического удаления записей

ответ

0

Просто обновите ваши actionDelete в контроллере:

public function actionDelete($id) 
    { 
     $model = $this->loadModel($id); 
     $model->is_deleted = "1"; //assuming is_deleted is the column name 
     $model->update(); 

     // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser 
     if(!isset($_GET['ajax'])) 
      $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); 
    } 

и вашу функцию модели search, чтобы удалить те элементы, которые имеют is_deleted = 1, вы можете:

//.... rest of your code above 
$criteria->addCondition("is_deleted != 1"); 
return new CActiveDataProvider($this, array(
      'criteria'=>$criteria, 
     )); 
+0

он дает ошибку, когда я пытаюсь удали это. мне также нужно создать новую функцию в модели? – amore

+0

@ revuer1 Нет, вам не нужно создавать функцию в вашей модели. Какова ваша ошибка? – Criesto

+0

это сработало. Спасибо. есть ли в любом случае, я могу изменить цвет для записей от синего до красного для тех, которые говорят IsDeleted = 1? – amore