「VoteSystem」の中にある「VotesystemController」について | Unity Forum | Tech Stadium Forum

「VoteSystem」の中にある「V...
 
通知
すべてクリア

「VoteSystem」の中にある「VotesystemController」について  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
31/08/2020 8:25 pm  

今回のカリキュラムで使用しているCakePHPプロジェクト「VoteSystem」の中にある「VotesystemController」の中身についての質問です。

レコード件数の取得やPopularityの最大値を取得する際に、
コントローラーと同じ名前の「Votesystem」というものが使われていますが、
これはどこでテーブルを取得しているのですか?

使用している箇所は画像の通りです。

 

This topic was modified 4年前 by Student
This topic was modified 2年前 by Teacher

引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
31/08/2020 8:27 pm  

質問を言い換えると、
今回のカリキュラムで使用したphpファイルの中で、この「$this->Votesystem」はどこで宣言されたものなのでしょうか?
他の変数はファイル内で宣言されていますが、この「Votesystem」が何なのかわかりません。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
31/08/2020 8:29 pm  

$this->VotesystemのVotesystemはControllerの名前の前の部分です。
他の例で例えるとMessageBoardsController.phpだったら$this->MessageBoardsとしてテーブルと連動します。

composerやapp.phpを使ってサーバーとの連動は済んだはずなので
そのテーブルから情報を受け取るための機能です。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
31/08/2020 8:29 pm  

データベースからは
$voteSystemTable = $this->getTableLocator()->get('votesystem');
などを利用して取ったので単純にVoteSystemControllerの機能を使うためのものだと思うのが一番だと思います。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
31/08/2020 8:30 pm  

ではまた質問してしまうのですが、
「$this->Votesystem」で連動したテーブルを取得できるなら、
なぜ「$this->getTableLocator()->get(‘votesystem’);」でテーブルを取得する必要があるのですか?


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
31/08/2020 8:31 pm  

テーブルを受け取るのは
$this->getTableLocator()->get(‘votesystem’);で行い、
$this->Votesystemはそれで受け取った情報を使うためだと考えたらよいです。


返信引用
共有:
タイトルとURLをコピーしました