我在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))时,我会在两个和两个表中看到正确相关的行。我得到的是一排新的,而两排仍然是空的。我缺少实现所需功能的东西吗?

编辑:
解决了我犯的一个小错误之后,似乎我犯了一个错误,似乎我根本无法插入联接视图,只能插入udpate。是否有解决此问题的优雅解决方案?

最佳答案

在大多数平台上,您可能在视图上使用“代替”触发器。 MySQL不支持“代替”触发器。它也不支持视图触发器。

使用包含ORM的框架是不同的。您可能要使用two models and the hasMany() method

关于php - 使用Laravel 4更新/插入联合 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20307153/

10-10 21:40
查看更多