2

CakePHP 2 book / Acl Tutorial / Part 2では、次のコマンドを実行しています。

./Console/cake AclExtras.AclExtras aco_sync

警告エラーが表示されます:

Warning Error: Argument 1 passed to Component::startup() must be an instance of Controller, 
null given, called in 
/opt/lampp/htdocs/acl/app/Plugin/AclExtras/Console/Command/AclExtrasShell.php 
on line 80 and defined in [/opt/lampp/htdocs/acl/lib/Cake/Controller/Component.php, line 119]

acos テーブルは、 のフィールド内およびすべてのフィールドに入力さNULLれます。modelNULLforeign_key

このエラーを修正するにはどうすればよいですか?

ここに画像の説明を入力

ありがとう

4

1 に答える 1

9

AclExtras/Console/Command で、起動関数を次のように変更してください。

public function startup() {
    parent::startup();
    $controller = new Controller();
    $collection = new ComponentCollection();
    $this->Acl = new AclComponent($collection);
    $this->Acl->startup($controller);
    $this->Aco = $this->Acl->Aco;
}
于 2012-08-01T23:11:44.153 に答える