2013-07-08 36 views
0

我想問一些關於如何以'正確的'CakePHP方式做些事情的建議。在CakePHP表單中輸入外鍵

我有一個名爲Recipes的模型,另一個模型名爲CookbookCookbook只是一個配方列表。有數百種食譜,我希望我的食譜在我的食譜表中只包含10個條目。

基本上,Cookbook只有兩列,即id和外鍵recipes_id,它們引用Recipes表中的條目。現在這是問題開始的地方。

在我的Cookbook模型中添加/編輯條目時是否有更好的方法來輸入外鍵?我現在可以做的唯一方法是使用默認的echo $this->Form->input('recipes_id');。但是因爲我的食譜運行在數百個菜單中,所以默認情況下,CakePHP提供的下拉菜單可能不是實現這一點的最佳方式,尤其是當食譜達到一千種以上時。

如何在不訴諸下拉菜單的情況下輸入外鍵?

+3

使用JavaScript自動完成,與遠程數據源[jQuery用戶界面(http://jqueryui.com/autocomplete/#remote)是一個良好的開端。 – AD7six

+3

如果你想遵守約定,數據庫中的外鍵應該是'recipe_id'。 – Nunser

回答

0

我同意 - 您可能不想要下拉菜單。

這裏有一些想法:

  • 在網格格式字母複選框
  • 搜索與AJAX/JavaScript的箱
  • 分級式選擇框 - 即第一,他們選擇配方的類型,那麼子類型,然後是實際配方。