我的Website model
public function update_website_status($id = null,$status ){
$this->saveField('is_approved',$status,array('website_id' => $id));
}
现在,如果我希望从controller
调用此功能,我将如何设置$id
和$status
?
我知道这是相当基本但我在Cake Cookbook(文档)中找不到一个例子。
也是我“搜索”的方式。确保正确的website
_ id是正确的做法吗?
答案 0 :(得分:1)
试试这个
$this->Website->update_website_status($id, $status);
在WebsitesController
如果你想在网站控制器之外调用此功能,只需在调用该函数之前加载网站模型,即
$this->loadModel('Website');
$this->Website->update_website_status($id, $status);
答案 1 :(得分:1)
如果您的控制器中已有网站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');
}
然后按照
创建模型方法<?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);
}