Php 一对多,引用键也包含字符串
我有一个名为books的实体和另一个名为users的实体。 每本书可以有许多作者(用户)。 因此,当我添加一本书时,我会选择在网站上注册的用户。 但是如果这本书的作者在这个网站上没有账户,我想手工输入他的名字Php 一对多,引用键也包含字符串,php,orm,doctrine,symfony,Php,Orm,Doctrine,Symfony,我有一个名为books的实体和另一个名为users的实体。 每本书可以有许多作者(用户)。 因此,当我添加一本书时,我会选择在网站上注册的用户。 但是如果这本书的作者在这个网站上没有账户,我想手工输入他的名字 +----+---------+-----------+--+ | id | book_id | author_id | | +----+---------+-----------+--+ | 1 | 1 | 1 | | | 2 | 1 |
+----+---------+-----------+--+
| id | book_id | author_id | |
+----+---------+-----------+--+
| 1 | 1 | 1 | |
| 2 | 1 | Mr.Paul | |
+----+---------+-----------+--+
查看author_id如何既是字符串又是用户的引用键?
我可以用条令来做这件事吗,否则我将不得不自己管理插入
编辑:我不知道正确的标题应该是什么
Edit2:一个可能的解决方案是创建另一个表,其中只包含在网站上没有帐户的作者。我建议采用以下方法 您有一个表
books
一个表accounts
和以下内容:
作家与书籍
+----+---------+-----------+--+
| id | book_id | author_id | |
+----+---------+-----------+--+
| 1 | 1 | 1 | |
| 2 | 1 | 2 | |
+----+---------+-----------+--+
作者
+----+---------+------------+--+
| id | name | account_id | |
+----+---------+------------+--+
| 1 | Mr. Paul | 1 | |
| 2 | Simon | (empty) | |
+----+---------+-------------+--+
帐户id可以为空我建议采用以下方法 您有一个表
books
一个表accounts
和以下内容:
作家与书籍
+----+---------+-----------+--+
| id | book_id | author_id | |
+----+---------+-----------+--+
| 1 | 1 | 1 | |
| 2 | 1 | 2 | |
+----+---------+-----------+--+
作者
+----+---------+------------+--+
| id | name | account_id | |
+----+---------+------------+--+
| 1 | Mr. Paul | 1 | |
| 2 | Simon | (empty) | |
+----+---------+-------------+--+
帐户id可以是空的在我的选项中,这不是一个很好的解决方案,我认为如果你不只是输入一个名字会更好,你应该创建一个新的作者,然后将这个新的作者id放入数据库表中。我不是一个信条专家,但我认为这是不可能的,因为这是一个非常糟糕的做法,或者可能创建另一个表,其中只包含在网站上没有帐户的作者?您当前的作者表是什么样子的?我想你应该有这个表格
authors\u books
,books
,authors
,authors
~ accounts,这样一个作者就可以有一个账户了,或者我不喜欢这样,但是在authors表格中,我把我的作者放在没有账号的位置,或者我把有账号的和没有账号的都放在一起,在作者表中,你有一个列账号,而没有账号的,这一行是空的,在我的选项中,这不是一个愚蠢的解决方案,我想如果你不只是输入一个名字会更好,您应该创建一个新的作者,然后将这个新的作者id放入数据库表中。我不是一个信条专家,但我认为这是不可能的,因为这是一个非常糟糕的做法,或者可能创建另一个表,其中只包含在网站上没有帐户的作者?您当前的作者表是什么样子的?我想你应该有这个表格authors\u books
,books
,authors
,authors
~ accounts,这样一个作者就可以有一个账户了,或者我不喜欢这样,但是在authors表格中,我把我的作者放在没有帐户的位置,或者我把有帐户的作者和没有帐户的作者都放在一起,在作者表中,你有一个列帐户id,而没有帐户的作者这一行是空的