0

私の中に次の機能がありますWebsite model

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

この関数を a から呼び出したい場合、と をcontrollerどのように設定し$idます$statusか?

これはかなり基本的なことですが、Cake Cookbook (ドキュメント) で例を見つけることができませんでした。

また、私が別名「検索」している方法でもあります。website正しい _id が正しい方法であることを確認しますか?

4

2 に答える 2

1

コントローラーに既に Web サイト 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);
}
于 2013-10-03T10:41:32.150 に答える
1

このようにしてみてください

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

あなたのWebsitesController

Web サイトコントローラー以外からこの関数を呼び出したい場合は、関数を呼び出す前に Web サイトモデルをロードするだけです。

$this->loadModel('Website');
$this->Website->update_website_status($id, $status);
于 2013-10-03T10:28:12.623 に答える