skillup

技術ブログ

PHP

cakePHPでの多対多について

投稿日:

cakePHPで多対多のリレーションを使う機会があったので、その時のメモなどを。

多対多を説明するときには例によってブログの投稿(Item)とタグ(Tag)の関係が一番わかりやすいですね。

テーブル構成

テーブル構成が下記のようだったとします。

※実際はitemとtagはいろんなプロパティを持ってますが説明のために簡略化してます。

relation

ソース

実際にリレーションでitemからtag、あるいはtagからitemを取得するときは下記のように取得します。

基本的にはItemとTagのモデルに多対多の設定を書けばOKです。

Item.php

Tag.php

あとはControllerで普通にpaginateやfindメソッドを使用すれば、お互いのデータを紐付けて取得することができます。

リンク

http://dim5.net/cakephp/hasandbelongstomany-configuration.html

http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

PHPの無名関数+array系の関数

PHPの無名関数について。 PHP5.3.0以降で実装され、概念としては知っていましたが、あまり使ったことがありませんでした。 今開発しているPHPの案件で無名関数のソースをみたので、復習もかねてメモ …

no image

cakePHPのajax

cakePHPのajaxですが、javascriptはいいとして、コントローラー側をどう実装するのか気になる方は多いでしょう。 cakeの画面は基本的にコントローラーにアクセスした後は通常はビューに遷 …

no image

CakePHP3 リクエストパラメーターの扱いについて

CakePHPのリクエストの扱いについて。 ほとんどのフレームワークですと、HTTPリクエストの扱いに関してはフレームワーク側で実装されていることが多いので、フレームワークを使い始める場合、この部分に …

no image

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

PHPでのPDF出力 基本&日本語出力

今回はPHPでのPDFファイルの出力です。 Contents1 ライブラリ2 ソース3 参考リンク ライブラリ 使うライブラリはFPDFというライブラリです。 http://www.fpdf.org/ …