【发布时间】:2014-03-09 08:27:15
【问题描述】:
在这个link建议不要使用Polymorphic Relations
例如对于这个 Sql 命令,我们必须不带FOREIGN KEY
CREATE TABLE Comments (
comment_id SERIAL PRIMARY KEY,
comment TEXT NOT NULL,
issue_type VARCHAR(15) NOT NULL CHECK (issue_type IN (`Bugs`, `Features`)),
issue_id INT NOT NULL,
FOREIGN KEY issue_id REFERENCES ???
);
那么我们一定有:
CREATE TABLE Comments (
comment_id SERIAL PRIMARY KEY,
comment TEXT NOT NULL,
issue_type VARCHAR(15) NOT NULL CHECK (issue_type IN (`Bugs`, `Features`)),
issue_id INT NOT NULL,
);
此命令在使用JOIN 或同时使用JOINs 时有问题,例如:
SELECT * FROM Comments c
LEFT JOIN Bugs b ON (c.issue_type = 'Bugs' AND c.issue_id = b.issue_id)
LEFT JOIN Features f ON (c.issue_type = 'Features' AND c.issue_id = f.issue_id);
这些问题只针对SELECT 其他问题是:UPDATE, DELETE
什么 laravel 方法来解决这个问题?
更新: 现在如何找到帖子所有者?
【问题讨论】: