users groups テーブルが group_users という子テーブル(user_id, group_id カラムをもっている)
で加入状況が関連付けされていて
あるユーザ($user_id) が特定の時間($time) より後に加入したグループまたは加入していないグループ
を抽出したいです
書式は fuel のクエリビルダなのですが
DB::select('*') ->from('groups') ->join('group_users', 'LEFT')->on('groups.id', 'group_id') ->where('user_id', $user_id) ->where_open() ->where('group_users.created_at', '>', $time) ->or_where('$user_id', '=', null) ->where_close()
のようにかいてしまうと Left Join してても
->where('user_id', $user_id)
の条件のせいで
group_users に存在するレコードしか抽出できないんですが
どうかけばいいのでしょうか
回答は MySQL 形式でも大丈夫なのでよろしくおねがいします
回答2件
あなたの回答
tips
プレビュー