やったこと

webサービスを作るときに考えたことを垂れ流します

2016-07-01から1ヶ月間の記事一覧

【CakePHP3】containでデータ取得しようとしたらエラーになってしまった!

CakePHP3の話ですけども、テーブルからデータを取得するとき「contain」によって別テーブルからもデータを取得できますよね。以下のコードでは「DraftPosts」テーブルと「Posts」テーブルから同時にデータをゲットしています。 public function initialize()…

【CakePHP3】クッキーが書きこめるけど読み込めない!

CakePHP3でCookieの「書き込み」はできるのに「読み込み」はできない困った事態に出くわしてしまいました。この原因は簡単なことでした。Cookieの書き込み時は「$this->Cookie->config()」で設定をセットしていたんですが、読み込みのときにこれを忘れていた…

【CakePHP3】異なるテーブル間でデータをコピーする!

CakePHP3で、あるテーブルのデータを別のテーブルにコピーする形でセーブする方法です。以下、「Draft_posts」テーブルのデータを「Posts」テーブルにコピーしています。 (※この二つのテーブルは全く同じ構造をしています) try{ //コピー元のデータを取得 …

GETメッセージのクエリパラメータのフォーマット!

HTTPのGETメッセージの後ろには、下記のように「?」や「&」でいろんなクエリパラメータを付けられます。「http://hogege.jp/param.php?age=100」(パラメータ一個だけの場合) 「http://hogege.jp/param.php?age=100&weight=120&height=200」(パラメータ3…

【CakePHP3】コントローラーからテンプレートに変数を渡せないとき!

CakePHP3でコントローラーからテンプレートへ「$this->set()」で変数を渡そうとしたのですが、なぜか失敗してしまいました・・。原因は「$this->render('xxxx')」でした。変数をセットする前にレンダーを指定すると、その後変数がセット不能になってしまうみ…

【CakePHP3】絵文字をSQLに保存する方法!

CakePHP3で絵文字が入ったテキストをMySQLに保存しようとしたら、以下のようなエラーが発生してしまいました。 General error: 1366 Incorrect string value:・・・これは文字コードが原因だそうです。絵文字は「utf8mb4」という文字コードじゃないと保存で…

MySQLのログインコマンド

久しぶりにMySQLにログインしようとしたらコマンドが分からなくなっちゃった・・。以下、ユーザ名「root」、パスワード「hogehogehoge」でログインするときのコマンド。 「mysql -u root -phogehogehoge」おそろしいことに、こんなコマンドが検索でなかなか…

【CakePHP3】ページネーション処理でエラーを補足できない!

CakePHP3に「Paginate処理」ってありますよね?たくさん記事を表示するときに、URLに「?page=1」「?page=2」みたいのを付けて、自動でページをうまく分割表示してくれる機能です。(公式ページ:「ページネーション」)ページネーション機能で記事が存在しな…

【CakePHP3】データを暗号化してテーブルに保存する!

CakePHP3でデータを暗号化してテーブル(Model)に保存する方法です。以下の「encr()」でデータを暗号化して保存しています。「decr()」ではデータを復号化して表示しています。 use Cake\Utility\Security; use Cake\Core\Configure; class SaveController ex…

【CakePHP3】テーブルに保存するデータをハッシュ化する!

テーブル(Model)にデータを保存するときハッシュ化したいときってありますよね?パスワード情報とかに関する人にバレたらまずいデータです。CakePHP3では「エンティティクラス」にハッシュ化処理を書き込むと、保存するときに自動的にハッシュ化してくれま…

【CakePHP3】エレメントを使って簡単にビュー表示!

CakePHP3の画面レイアウト処理で「エレメント」の機能を使うと便利です。エレメントとは、画面デザインのパーツを再利用できるように定義できる機能です。例えば「display.ctp」で以下のような画面レイアウトを記述していたとします。 <div class="masthead"> <p>ヘッダーだよ!(;)</p> </div>

【CakePHP3】Authコンポーネントを使うと勝手にログインページに遷移してしまう!

CakePHP3でAuthコンポーネントを使う際に困ってしまいました。トップページでユーザーがログインしているかどうか確認する処理を書いていたのですが、なぜかトップページへアクセスするとログインページに自動的に遷移してしまうのです・・。原因は「$this->…