CREATE TABLE `personchanges` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `person` int(11) unsigned NOT NULL, `msg` mediumtext NOT NULL, PRIMARY KEY (`id`), KEY `person` (`person`), KEY `fk_personchanges_1` (`person`), CONSTRAINT `fk_personchanges_1` FOREIGN KEY (`person`) REFERENCES `person` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB COMMENT='changelog'
(还有表person
,但其内容与我的问题无关,只知道它有id
字段。)
在person
的编辑表单中,我想显示一个(总是最初为空的)textarea。
如果在保存(创建或更新)之前,用户在此textarea中键入文本,则该文本应保存到personchanges
表中。
当查看(不编辑)该人(来自person
表)以及其他数据时,应显示msg
的最后一行(具有最高id
)personchanges
行对于给定的人ID。
我的问题:我应该在哪里实现显示和编辑msg
textarea?它应该在模型中(类Person
),在表单中,何处?
答案 0 :(得分:0)
有一个扩展程序可以执行您想要的内容:Yii model Versioning
SAModelVersioning是一种提供版本控制的Yii行为 任何ActiveRecord对象的功能。
因此,您可以跟踪他对模型所做的更改。该扩展还提供了一些方法来获取最新版本,比较版本,还原到另一个版本,...