Php 我如何定义中的外键路由?

Php 我如何定义中的外键路由?,php,routes,flourishlib,Php,Routes,Flourishlib,我正在使用PHP与繁荣。我阅读了他们的文档和文件。假设我有一个表persons和另一个表items。让我们进一步假设我在persons表中有一个item\u id1和一个item\u id2。它们都是项表的外键。我想根据人员和项目之间的关系,从项目表中根据项目ID 2外键获取记录 如果我没有弄错的话,这可以通过 $person->createItem() 在大多数情况下,$person是从persons表的记录生成的事实记录。但在这种特殊情况下,当多个外键指向同一个表时。这是可以理解的,

我正在使用PHP与繁荣。我阅读了他们的文档和文件。假设我有一个表
persons
和另一个表
items
。让我们进一步假设我在
persons
表中有一个
item\u id1
和一个
item\u id2
。它们都是
表的外键。我想根据
人员
项目
之间的关系,从
项目
表中根据
项目ID 2
外键获取记录

如果我没有弄错的话,这可以通过

$person->createItem()
在大多数情况下,
$person
是从
persons
表的记录生成的
事实记录。但在这种特殊情况下,当多个外键指向同一个表时。这是可以理解的,因为如果我们不给它至少一条路径,那么
就无法确定应该使用哪个关系

因此,如果我们想从items表中获取对应于
item_id2
外键的记录,那么我们应该将route作为参数。我在他们的文档中没有看到解决此特定问题的描述或示例,因此我的问题是:

我们应该如何告诉
createItem
我想使用
item\u id2

$person->createItem("item_id2")

不起作用。

你是对的,你的例子应该起作用。我刚刚检查了一下,我知道它对我有效。我发现您的示例和文档之间的唯一区别是,您使用的是双引号。试试单引号

$person->createItem('item_id2')

我想这可能就是它的全部功能。

我不相信单引号和双引号之间有什么区别。它们都是PHP中的字符串表示。在这种情况下,为什么简单的引用更好?我必须承认,我没有从学术的角度来分析这个问题。我所做的是:我使用相同的函数,它对我有效,你的代码和我的代码之间的唯一区别是引号。但这没有什么区别,请参阅php文档。