Php Yii2:在数据库中创建新记录时,如何将SQL查询写入递增值或递减值?

Php Yii2:在数据库中创建新记录时,如何将SQL查询写入递增值或递减值?,php,mysql,yii,yii2,Php,Mysql,Yii,Yii2,我有两张桌子 room_type create_bookings r_type room_status total total_booked total_remain 在哪里 r\u type提供不同类型的房间,例如空调或非空调 total是可用的房间数量 预订总数-针对特定房间类型预订的房间数量 total_remain-是特定房间类型的可用房间数 房间状态-例如入住或退房 我需要编写查询,以便每当在create\u bookings表中为特定的

我有两张桌子

room_type          create_bookings

r_type             room_status
total
total_booked
total_remain
在哪里

r\u type
提供不同类型的房间,例如空调或非空调

total
是可用的房间数量

预订总数
-针对特定房间类型预订的房间数量

total_remain
-是特定房间类型的可用房间数

房间状态
-例如入住或退房

我需要编写查询,以便每当在
create\u bookings
表中为特定的
r\u type
计数应在
total\u booked
中增加+1,在
total\u剩余中增加-1
当状态在
创建预订
表中更改为签出在
房间
状态时,计数应在
预订总数中为-1,在
预订总数中为+1

比如:

 CREATE TRIGGER UPDATE room_type AFTER INSERT ON create_bookings FOR ROW(where room type selected by user)
    BEGIN
    UPDATE r_type SET (NEW.total_booked = OLD.total_booked + 1)
    UPDATE r_type SET (NEW.total_remain = OLD.total_remain - 1)
    END
Not able to write for status change query
在Yii2中实施


任何帮助都将不胜感激,谢谢:)

使用模型的
afterSave()
,或者只是创建触发器。是的,但是查询呢,我需要查询您可以在
afterSave
上使用
updateCounters
。有关更新计数器的详细信息,请参见