我在MySQL有两张桌子。
CREATE TABLE one {
id int PRIMARY KEY,
thing varchar(255)
}
CREATE TABLE two {
id int PRIMARY KEY,
thing2 varchar(255),
one_id FOREIGN KEY REFERENCES one(id)
}我正在使用以下内容创建这两个表的视图:
CREATE VIEW view_table
AS SELECT one.id, thing, thing2 FROM one, two
WHERE two.one_id = one.id;我有一个类似的模型:
<?php class Blah { protected $table = 'view_table'; }
我希望实现的功能是,在创建Blah对象的新实例并保存它(Blah::create($data))时,我将在我的两个表( one和two )中看到正确相关的行。我得到的是one中的新行,而2仍然是空的。为了实现所需的功能,我缺少了什么?
编辑:在解决了我犯的一个小错误后,我似乎犯了一个错误,似乎我只是不能插入到连接视图中,只是udpate。有一个优雅的解决方案来解决这个问题吗?
发布于 2013-12-01 01:16:09
在大多数平台上,您可以在视图上使用“而不是”触发器。MySQL不支持“而不是”触发器。它也不支持视图上的触发器。
使用包含ORM的框架是不同的。您可能想使用 method。
https://stackoverflow.com/questions/20307153
复制相似问题