重複の可能性:
非オブジェクトでのメンバー関数の呼び出し
Cake PHP の学習を始めたばかりで、1 つのフィールドからなる非常に単純な登録フォームを作成しようとしています。ただし、モデルとのやり取りに問題があります。以下のコード:
これは私の登録コントローラーです:
class RegisterController extends AppController{
public $helpers = array('Form', 'Html', 'Js');
public function index(){
}
}
これは私の登録コントローラ index.ctp ビューです:
echo $this->Form->create('Users', array('controller' => 'Users', 'action' => 'createUser'));
echo $this->Form->input('username');
echo $this->Form->end('Register');
次に、フォーム データの検証と保存を処理するために、UsersController.php ファイルと Users.php (モデル) ファイルを作成しました。
ユーザーコントローラー.php:
class UsersController extends AppController{
public function createUser(){
$this->Users->create();
$this->Users->save($this->Request->data);
}
}
そして、Users.php モデル ファイル:
class Users extends AppModel {
public $validation = array(
'username' => array(
'rule1' => array(
'rule' => 'isUnique',
'message' => 'That username is already taken'
),
'rule2' => array(
'rule' => 'nonEmpty',
'message' => 'This field cannot be empty',
'required' => true
)
)
);
}
ただし、フォームの「登録」ボタンを押すたびに、次のエラーが発生します。
Call to a member function create() on a non-object
これは、UsersController.php ファイルの次の行を参照しています。
$this->Users->create();
PHPファイルが表示できるケーキデータベースに作成されたユーザーテーブルがあります。私の UsersController.php ファイルがそのモデルに書き込めない理由がわかりません。