私のデータベースには、アクション、アクション タイプ、ソーシャル メディアの 3 つの関係があります。すべてのアクションにはアクション タイプがあり、同じアクション タイプを多くのアクションで共有できます。また、すべてのアクションは、多くのアクションで共有できる特定のソーシャル メディアに属しています。したがって、このコンテキスト内では、「アクション」はソーシャル メディアとアクション タイプの間の結合モデルです。
私は CakePHP から始めています。必要なのは、ソーシャル ネットワーク - アクション タイプ名という形式のアクション タイプのリストを生成することです。アプリで既に Action、ActionType、および SocialMedia モデルの関連付けを設定しましたが、実行しようとしています。
$actionTypes = Set::combine($this->Action->ActionType->find('all', array(
'fields' => array('ActionType.id',"CONCAT(SocialMedia.name,' ',ActionType.name) as name"),
'contain' => array('SocialMedia')
)),'{n}.ActionType.id','{n}.0.name');
そのような列 SocialMedia.name がないことを示す SQL エラーをスローします。