2015-04-30 3 views
0

У меня есть две таблицы, такие как Employee и DeletedEmployee.Как перемещать удаленные данные в другую таблицу в Yii 2?

Мне нужно, чтобы я удалял данные в таблице employee, что конкретные данные должны быть переведены на номер deletedemployee.

DeletedEmployee структура таблицы, как показано ниже:

id int(11) NOT NULL AUTO_INCREMENT, 
emp_name varchar(45) NOT NULL, 
emp_age varchar(45) NOT NULL, 
emp_address varchar(45) NOT NULL, 
emp_phone varchar(45) NOT NULL, 
emp_designation varchar(45) NOT NULL, 
PRIMARY KEY (id)   

Сотрудник

id int(11) NOT NULL AUTO_INCREMENT, 
name varchar(45) NOT NULL, 
age varchar(45) NOT NULL, 
address varchar(45) NOT NULL, 
phone varchar(45) NOT NULL, 
designation varchar(45) NOT NULL, 
PRIMARY KEY (id) 
+0

вы хотите запрос SQL? –

+0

Мне нужно решить это, так что бы это ни было. как это сделать, используя кодирование –

+0

Просьба предоставить структуру базы данных, чтобы я мог написать правильный запрос для вас –

ответ

1

Триггер, как следует из названия может быть использован, чтобы инициировать какое-либо действие, когда какое-то событие происходит, как и для например: Вставка, обновление, удаление и т. д.

Запрос может быть следующим:

CREATE OR REPLACE TRIGGER trgAfterDelete 
AFTER DELETE ON Employee 
AS 
    insert into DeletedEmployee values(val1,val2,val3,....) 

    PRINT 'AFTER DELETE TRIGGER fired.' 
GO 

Вы можете узнать, чтобы включить триггер от этого link.

+0

Я не могу понять, как использовать это и где его использовать в yii2 –

+0

, вы бы уже писали свой вопрос? –

+0

Да, в контроллере –

2

Вы можете использовать ActiveRecord::afterDelete(). Поскольку текущий объект еще не уничтожен, вы можете получить необходимые поля. Предполагая, что вы модель DeletedEmployee вы можете сделать следующее в вашей Employee модели:

public function afterDelete() { 
    $deletedEmployee = new DeletedEmployee; 
    $deletedEmployee->id = $this->id. 
    //assign other attributes 
    $deletedEmployee->save(); 
    parent::afterDelete(); 
} 
+0

no its not working –

+0

@KalaiS, похоже, это работает, может быть, у вас есть некоторые ошибки? – nowiko

+0

Я вставляю этот код в workeecontroller и сгенерировал модель для deletedemployee, а затем, наконец, я удалил данные в jobeetable, но не получил данные удаленных сотрудников в таблице deletedemployee. –

Смежные вопросы