这可能是一个简单的问题,但我很难尝试创建模型的对象。我想创建一个与模型相同的临时变量,以便可以根据发布到操作的数据更新其内部值。
我的数据已成功发布到控制器中的操作。目前我正在做的是抓取数据库中的所有项目,然后将其分配给数组中的第一个项目。这样我可以覆盖现有值,但如果表是空的,它将无法工作。
我正在使用 cakephp 2.x,我是新手,这将解释为什么我无法弄清楚这一点。
这是来自控制器的代码:
public function lcadd()
{
if ($this->request->is('post'))
{
// Create a new Local Clock object
$temp = $this->LocalClock->find('all'); // THIS IS THE PROBLEM AREA
$temp = $temp[0];
$temp['LocalClock']['name'] = $this->request->data['LocalClock']['Name'];
debug($temp); // THIS DEBUG ONLY DISPLAYS SOMETHING IF THE DATABASE TABLE IS NOT EMPTY
debug($this->request->data); // THE DATA COMING IN IS CORRECT AND I CAN ACCESS IT WITHOUT A PROBLEM
if($this->request->data['LocalClock']['Time Zone'] == 0 or $this->request->data['LocalClock']['Time Zone'] == -1)
{
//debug('Hello');
$temp['LocalClock']['auto_offset'] = 1;
}
else if($this->request->data['LocalClock']['Time Zone'] == 1)
{
$temp['LocalClock']['auto_offset'] = 0;
}
// Check the value posted from the DST
if($this->request->data['LocalClock']['DST Definition'] == -1 or $this->request->data['LocalClock']['DST Definition'] == 0)
{
$temp['LocalClock']['in_month'] = 0;
}
else if($this->request->data['LocalClock']['DST Definition'] == 2)
{
$temp['LocalClock']['in_month'] = $this->request->data['LocalClock']['InMonth'];
}
if ($this->LocalClock->save($temp))
{
$this->set('localClocks', $this->request->data);
$this->set('islcAddValid', true);
$this->set('lcaddValidationErrors', false);
}
}
}
我不知道如何从模型中制作一个简单的对象。模型是LocalClock,控制器是LocalClocksController。上面的函数在 LocalClocksController 中。
提前致谢。