cakephpのvendorに入れて呼び出すことを想定したアプリケーションです。 ユーザーが自由にタグをフォローすることが出来るアプリケーションにてフォローしているタグに関連付けられたイベントを取得し、タイムラインを生成します。
CakephpのhasAndBelongsToMany構造でタグが管理されている場合を想定しています。
データベースに
- ユーザーを管理するUser
- イベントを管理するEvent
- タグ名を管理するTag
という3つのテーブルが存在し、
- イベントのタグ付けを管理するEventsTag
- ユーザーがフォローしているタグを管理するUsersTag
の2つのhasAndBelongsToMany構造の中間テーブルが存在することを想定しています。
vendorに入れて、controlerから呼び出します。
例:
$timelineMaker = new TimelineMaker($this->Auth->user());
$events = $timelineMaker->getEvents(1, 'Event.id desc', 10, false);
$recommends = $timelineMaker->getEvents(1, 'Event.participant desc',3 ,false);
もともとアプリケーションの一部を取り出しただけなので、単独で動くかは確認してません。 cakephpに触れてから1ヶ月ぐらいの時に書いたのでいろいろと効率悪い書き方かもしれません。