前提
Laravel 8
MySQLで開発しています。
実現したいこと
テーブルのcreated_atでユニーク(Groupby)を行い
ユニークした後に、日付の表記を変えて再度ユニーク、
やりたいこととしては、同月に同じユーザから2度送信されていないかを確認したいです。
※1度の送信で複数件送ることは可能
以下のテーブルのid「1~3」と「4」とで、
同月に計2回送信されたことを検知したい形です。
試したこと
以下のテーブルから、
| id | user_id | number | created_at |
|---|---|---|---|
| 1 | 8 | 1 | 2021-04-14 00:00:00 |
| 2 | 8 | 2 | 2021-04-14 00:00:00 |
| 3 | 8 | 3 | 2021-04-14 00:00:00 |
| 4 | 8 | 1 | 2021-04-25 00:00:00 |
| 5 | 8 | 1 | 2021-05-01 00:00:00 |
| 6 | 8 | 2 | 2021-05-01 00:00:00 |
| 7 | 8 | 1 | 2021-06-20 00:00:00 |
$hoge = Hogehoge::select('user_id', 'created_at') ->where('user_id', '=', '8') ->groupBy('user_id', 'created_at') ->get();
こちらを行い、
日付でユニークし、numberの重複を省くことには成功しましたが、
その後、selectRaw('DATE_FORMAT(created_at, "%Y/%m") as year_month')などで、
再度Groupbyを行いたいのですが、created_atのselectが残ってしまいうまくいきません。
どうかよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/05/24 08:20
退会済みユーザー
2022/05/24 08:22
2022/05/24 08:44
2022/05/24 08:45
退会済みユーザー
2022/05/24 08:52
2022/05/24 10:08
2022/05/24 10:26 編集
退会済みユーザー
2022/05/24 12:30
2022/05/24 12:38
退会済みユーザー
2022/05/24 12:42