A.A*_*man 11 css php database cakephp toggleswitch
我有两个型号Group_ones和Group_twos.我在ac_config.ctp文件中显示此值.
我的控制器代码如下
public function ac_config($id = null)
{
if (!$id) {
$this->Session->setFlash('Please provide a Site id');
$this->redirect(array('action'=>'dashboard'));
}
$site_id_1 = $this->GroupOne->findById($id);
$site_name = $site_id_1['GroupOne']['site_name'];
$ac_one_time = $site_id_1['GroupOne']['ac_on_time_one'];
$group_one_active = $site_id_1['GroupOne']['active'];
$site_id_2 = $this->GroupTwo->findById($id);
$ac_two_time = $site_id_2['GroupTwo']['ac_on_time_two'];
$group_two_active = $site_id_2['GroupTwo']['active'];
if (!$site_id_1) {
$this->Session->setFlash('Invalid Site ID Provided');
$this->redirect(array('action'=>'dashboard'));
}
if (!$site_id_2) {
$this->Session->setFlash('Invalid Site ID Provided');
$this->redirect(array('action'=>'dashboard'));
}
if ($this->request->is('post') || $this->request->is('put')) {
$this->GroupOne->id = $id;
$this->GroupTwo->id = $id;
if (($this->GroupTwo->save($this->request->data)) || ($this->GroupOne->save($this->request->data))) {
$this->Session->setFlash(__('AC Configuration has been update'));
$this->redirect(array('action' => 'ac_config', $id));
}
else
{
$this->Session->setFlash(__('Unable to AC Configuration has been update.'));
}
}
$this->set(compact('site_name','ac_one_time','group_one_active'));
$this->set(compact('ac_two_time','group_two_active'));
$this->set('group_one', $site_id_1);
$this->set('group_two', $site_id_2);
if (!$this->request->data) {
$this->request->data = $site_id_1;
$this->request->data = $site_id_2;
}
}
Run Code Online (Sandbox Code Playgroud)
我save按下时出现问题.它只在数据库中保存group-2表单值.当AC Run Time和AC Rest Time展示Group-2,然后表单值保存在数据库中Model Group_twos,并AC Run Time与AC Rest Time秀Group-1再形成的值保存在数据库中Model Group_ones.
另一个问题如下
if (!$this->request->data) {
$this->request->data = $site_id_1;
$this->request->data = $site_id_2; // this show rest time, run time
}
Run Code Online (Sandbox Code Playgroud)
如果我写上面的代码然后我得到
if (!$this->request->data) {
$this->request->data = $site_id_2;
$this->request->data = $site_id_1; //this show rest time, run time.
}
Run Code Online (Sandbox Code Playgroud)
再次,如果我写上面的代码然后我得到
但我同时需要AC Run Time and AC Rest Time两个组,当我单击保存按钮时,任何两个组对应组值保存在模型中.我的错误是我的错误.
谢谢你的帮助.
小智 8
在设置请求数据之前,只需合并两个数组:
if (!$this->request->data) {
$this->request->data = array_merge($site_id_1, $site_id_2);
}
如果这没有帮助,那么查看视图的代码也很有用.
根据您的代码,您将覆盖请求数据数组.你需要做的是你必须单独设置两个数组或通过合并单个数组.
下面您当前的代码覆盖$site_id_1的$site_id_2:
$this->request->data = $site_id_1;
$this->request->data = $site_id_2;
Run Code Online (Sandbox Code Playgroud)
现在您可以通过以下方式传递数据:
$this->request->data['site_id_1'] = $site_id_1;
$this->request->data['site_id_2'] = $site_id_2;
Run Code Online (Sandbox Code Playgroud)
要么
$this->request->data = array_merge($site_id_1, $site_id_2);
Run Code Online (Sandbox Code Playgroud)
你只需改变这两行.
此外,我不知道你如何在两个模型的视图中获取结果,但你可以单独获取数据,如下所示:
$site_id_1 = $this->request->getData('site_id_1');
$site_id_2 = $this->request->getData('site_id_2');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |