簡體   English   中英

如何重新計算與另一個表相關的字段(Yii2 MySQL)

[英]How to recalculate a field relating to another table (Yii2 MySQL)

我有MySQL數據庫和表“ User”,其中包含“ rating”字段。 另外,我有帶有“ user_id”和“ value”列的“ Rating”表。 每當有人為該用戶投票或我在數據庫中添加/更改行時,我都需要自動獲取“評分”表中“值”列的中間值並將其放入用戶的“評分”字段中。 我在Yii2的評分模型中嘗試了“ afterSave()”功能,但只有在視圖中從表單中保存評分值(通過單選按鈕投票)時,該功能才有效。 當然,如果我更改數據庫中的值,它不會重新計算``評分''字段。我想我需要使用SQL而不是框架進行操作,對嗎? 通常如何做?

對於您的情況,您可以使用mysql觸發器 ,它們是事件處理程序,可在表的特定事件(例如INSERTUPDATEDELETE行)發生時激活。 這是有關使用觸發器的文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM