CakePHP在选择输入中使用不同值的简便方法

时间:2015-01-22 15:05:26

标签: php cakephp

我有一点问题"与CakePHP。 我的代码工作正常,但我正在寻找缩短代码的方法。

我有一个名为" Document"并且它属于#34;几个"用户" s。

  • 创建者
  • 编辑
  • ,应当负责

在我的控制器中,我使用以下代码加载所有可用用户的列表:

$creators= $this->Document->Creator->find('list');
$editors= $this->Document->Editor->find('list');
$responsiblepersons= $this->Document->Responsibleperson->find('list');
$this->set(compact('creators','editors','responsiblepersons');

现在我可以在我的观点中使用此代码:

echo $this->Form->input($creator_id);
echo $this->Form->input($editor_id);
echo $this->Form->input($responsibleperson_id);

这很好用,但是真的有必要找到所有3个列表吗? 在我的控制器$ creators,$ editors& $ responsiblepersons包含所有相同的元素。 总的来说,"文件"与6个不同的用户连接,所以这真的让我的代码膨胀。

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

如果它们都与同一个表和模型相关联,那么只需执行以下操作:

$users = $this->Document->Creator->find('list');

在视图中需要相同列表的地方使用相同的列表。