別のコントローラーのメソッドから 1 つのコントローラー メソッドを呼び出しています。渡されたデータに対して print_r を実行すると、期待どおりのものがすべて表示されるため、メソッドが呼び出されていることを確認できます。私の問題は、$this->Log->save($this->data) を呼び出すと、DB に何も書き込まれないことです。私は .NET 開発者なので、cakePHP についてほとんど知りませんが、これが DB にデータを保存する方法であることは知っているので、非常に困惑しています。
<?php
//The calling controller
App::import('Controller', 'Logs');
class othAuthComponent extends Object //I noticed this inherits from Object,
//but it doesn't seem to be a problem
{
function SomeFunction()
{
//create instance of our Logs controller as per example
$Logger = new LogsController;
$Logger->constructClasses();
$Logger->cms_addlog($user['User']['name'].' Logged in', $user['User']['id']);
}
}
?>
そして犯人:
<?php
//the called controller
class LogsController extends AppController
{
function cms_addlog($note,$ba_id)
{
$this->Log->create();
$curDateTime = getdate();
$this->data['LogTime'] = $curDateTime;
$this->data['Note'] = $note;
$this->data['brandactivatorid'] = $ba_id;
//print_r($this->data);
//die();
$this->Log->save($this->data);
}
}
?>