在CakePHP表单中输入外键

在CakePHP表单中输入外键,cakephp,Cakephp,我想就如何以“正确”的方式做某事征求一些建议 我有一个名为Recipes的模型,还有一个名为Cookbook的模型。Cookbook只是一个食谱列表。有数百种食谱,我希望我的烹饪书只包含食谱表中的10个条目 基本上,Cookbook只有两列,即id和外键recipes\u id,它引用了recipes表中的一个条目。现在问题就从这里开始了 在我的烹饪书模型中添加/编辑条目时,是否有更好的方法输入外键?我现在唯一能做的就是使用默认的echo$this->Form->input('recipes_i

我想就如何以“正确”的方式做某事征求一些建议

我有一个名为
Recipes
的模型,还有一个名为
Cookbook
的模型。
Cookbook
只是一个食谱列表。有数百种食谱,我希望我的烹饪书只包含食谱表中的10个条目

基本上,
Cookbook
只有两列,即
id
和外键
recipes\u id
,它引用了recipes表中的一个条目。现在问题就从这里开始了

在我的烹饪书模型中添加/编辑条目时,是否有更好的方法输入外键?我现在唯一能做的就是使用默认的
echo$this->Form->input('recipes_id')。但由于我的食谱有数百种,CakePHP默认提供的下拉菜单可能不是实现这一点的最佳方式,尤其是当食谱超过1000种时


如何在不使用下拉菜单的情况下输入外键?

我同意-您可能不需要下拉菜单

以下是一些想法:

  • 网格格式的字母顺序复选框
  • 使用ajax/javascript的搜索框
  • 分类选择框-即首先选择配方类型,然后选择子类型,然后选择实际配方

使用带有远程数据源的javascript autocomplete是一个很好的开始。如果您想遵守约定,数据库中的外键应该是
recipe\u id