Cakephp将数据发送到模型函数
我的Cakephp将数据发送到模型函数,php,cakephp,Php,Cakephp,我的网站模型中有以下功能 public function update_website_status($id = null,$status ){ $this->saveField('is_approved',$status,array('website_id' => $id)); } 现在,如果我希望从控制器调用此函数,我将如何设置$id和$status 我知道这是相当基本的,但我只是在蛋糕食谱(文档)中找不到一个例子 这也是我“搜索”阿卡的方式。确保它是正
网站模型中有以下功能
public function update_website_status($id = null,$status ){
$this->saveField('is_approved',$status,array('website_id' => $id));
}
现在,如果我希望从控制器调用此函数
,我将如何设置$id
和$status
我知道这是相当基本的,但我只是在蛋糕食谱(文档)中找不到一个例子
这也是我“搜索”阿卡的方式。确保它是正确的网站
\u id做这件事的正确方法?就这样试试吧
$this->Website->update_website_status($id, $status);
在您的网站控制器中
如果您想从网站控制器以外的地方调用此函数,只需在调用函数之前加载网站模型,即
$this->loadModel('Website');
$this->Website->update_website_status($id, $status);
如果控制器中已经有网站ID,则可以直接更新网站,如下所示:
public function controller_action() {
$this->Website->id = $id; // $id has been set somewhere
$this->Website->saveField('is_approved', $status); // $status has bee set somewhere too
}
如果您希望在模型中使用一个方法,以便可以在多个控制器中调用它,请确保加载模型:
<?php
class FooController extends AppController {
public $uses = array('Website');
}
如果我使用了$uses=array('Website');,这对其他控制器也有用吗@Marc是的,您也可以使用$uses
选项
<?php
class Website extends AppModel {
public function updateWebsiteStatus($id, $approved) {
$this->id = $id;
$this->saveField('is_approved', $approved);
}
}
public function controllerAction() {
$this->Website->updateWebsiteStatus($id, $approved);
}