問題
・Uncaught Errorを解決したい。
試したこと
・エラー文の遡り誤字、脱字など確認。
エラー
・ PHP Fatal error: Uncaught Error: Call to undefined method Player::findAll() in /Applications/MAMP/htdocs/01_php_mvc lesson/Controllers/PlayerController.php:18
//メソッド定義 class Player extends Db { private $table = 'players'; public function __construct($dbh = null) { parent::__construct($dbh); } public function findById($id = 0):Array { $sql = 'SELECT * FROM '.$this->table; $sql .= ' WHERE id = :id'; $sth = $this->dbh->prepare($sql); $sth->bindParam(':id', $id, PDO::PARAM_INT); $sth->execute(); $result = $sth->fetch(PDO::FETCH_ASSOC); return $result; } } //メソッド呼び出し class PlayerController { private $request; //リクエストパラメータ(GET,POST) private $Player; //Playerモデル public function __construct() { //リクエストパラメータの取得 $this->request['get'] = $_GET; $this->request['post'] = $_POST; //モデルオブジェクトの生成 $this->Player = new Player(); } public function index() { $players = $this->Player->findAll(); //←エラー箇所 $params = [ 'players' => $players ]; return $params; } public function view() { if(empty($this->request['get']['id'])) { echo '指定のパラメータが不正です。このページを表示できません。'; exit; } $player = $this->Player->findById($this->request['get']['id']); $parmas = [ 'player' => $player ]; return $parmas; } }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。