Cakephp将数据发送到模型函数


Cakephp send data to model function

我的Website model中有以下函数

    public function update_website_status($id = null,$status ){
        $this->saveField('is_approved',$status,array('website_id' => $id));
}

现在,如果我想从controller调用此函数,我将如何设置$id$status

我知道这是相当基本的,但我根本无法在蛋糕食谱(文档)中找到示例。

也是我"搜索"的方式,也就是。 确保它是正确的website _id正确的方法?

试试这样

$this->Website->update_website_status($id, $status);

在您的WebsitesController

如果您想从网站控制器以外的调用此函数,只需在调用函数之前加载网站模型,即

$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');
}

然后像你一样创建你的模型方法

<?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);
}