目前我有2个型号。用户和Appbreak。 他们有协会 用户有很多appbreak。 Appbreaks属于用户 在我的appbreak控制器中,有一个批准功能,当按下视图页面的按钮时会调用该功能。
在此函数中,我需要更新appbreak表中的值和users表中的值。 我可以使用以下内容更新appbreak中的值:
$this->Appbreak->id = $id;
$this->Appbreak->set('approve', 'Yes');
$this->Appbreak->save();
但是,我无法从users表中提取所需的数据值。 < - 需要这样做,因为我需要在传回计算值之前进行一些计算。
我能使用请求方法从其他模型获取数据吗?或者我需要使用find方法吗?如果我使用find方法,我能够更新这些值并将其保存回数据库吗?
答案 0 :(得分:7)
您可以在控制器中使用任意数量的型号。 在控制器
中声明'uses'数组<?php
class DemoController extends AppController{
public $uses=array('Appbreak','User');
}
?>
要从AppBreak
模型中获取数据,请使用查找方法
$this->AppBreak
对象
与获取User
的数据类似,请使用查找方法
$this->User
对象
答案 1 :(得分:3)
使用find()获取值,如果需要更新值,请使用save()。像这样:
$this->Appbreak->Users->find('first', $params);
(如here所述)
要保存,只需创建一个至少相关记录ID的数组。包括要更新的任何字段,然后在数组上调用save方法,如下所示:
$data = array('id' => 10, 'title' => 'My new title');
// This will update Recipe with id 10
$this->Recipe->save($data);