【问题标题】:Update/Insert into a joined view with Laravel 4使用 Laravel 4 更新/插入连接视图
【发布时间】:2013-12-01 00:02:27
【问题描述】:

我在 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两个。我得到的是 one 中的新行,而 two 仍然是完全空的。为了实现所需的功能,我缺少什么?

编辑: 在解决了我犯的一个小错误之后,似乎我犯了一个错误,似乎我根本无法插入到连接视图中,只能更新。有没有一个优雅的解决方案来解决这个问题?

【问题讨论】:

    标签: php mysql laravel


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多