私は、ユーザーが管理者と個人的にチャットできる種類の「チャット」システムを持っていますが、 に問題があります。管理パネルで私は (会話)を持っているすべてのユーザーをリストアップする必要があります。私がまだ返信していない人は に赤色にする必要があります。 標準のPHPでこれを実行することができましたが、Laravelでそれを行う方法についての手がかりはありません。各ユーザーの最新の行Laravel
これは私のデータベースです: チャット
+----+-----------------------------------------------------------------------------+--------+-------+------+------+------------+------------+
| id | message | sender | admin | file | type | created_at | updated_at |
+----+-----------------------------------------------------------------------------+--------+-------+------+------+------------+------------+
| 1 | Heeey! | 1 | 0 | 0 | 1 | NULL | NULL |
| 2 | Hey. | 1 | 1 | 0 | 1 | NULL | NULL |
| 4 | Zou ik iets mogen vragen? | 1 | 0 | 0 | 1 | NULL | NULL |
| 5 | Ja, tuurlijk. | 1 | 1 | 0 | 1 | NULL | NULL |
| 6 | Zou u een foto voor mij willen vectoriseren? | 1 | 0 | 0 | 1 | NULL | NULL |
| 7 | Het is een vrij grootte | 1 | 0 | 0 | 1 | NULL | NULL |
| 8 | Dat is geen enkel probleem! | 1 | 1 | 0 | 1 | NULL | NULL |
| 9 | Stuur maar door | 1 | 1 | 0 | 1 | NULL | NULL |
| 10 | <a class='.fileReference' href='/uploads/Foobar/24344cat.jpeg'>cat.jpeg</a> | 1 | 0 | 1 | 1 | NULL | NULL |
| 11 | Bedankt! | 1 | 0 | 0 | 1 | NULL | NULL |
| 12 | Geen probleem. | 1 | 1 | 0 | 1 | NULL | NULL |
| 13 | e. | 1 | 0 | 0 | 1 | NULL | NULL |
| 14 | e. | 1 | 1 | 0 | 1 | NULL | NULL |
| 15 | e. | 1 | 0 | 0 | 1 | NULL | NULL |
| 16 | e. | 1 | 1 | 0 | 1 | NULL | NULL |
| 17 | e. | 2 | 0 | 0 | 1 | NULL | NULL |
| 18 | e. | 3 | 0 | 0 | 1 | NULL | NULL |
+----+-----------------------------------------------------------------------------+--------+-------+------+------+------------+------------+
ユーザー
+----+---------+---------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
| id | name | email | password | remember_token | created_at | updated_at |
+----+---------+---------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
| 1 | Foobar | [email protected] | $2y$10$xyovyCx32CpbPaiLnKR1o.ls9ydQhupEdMbPyx0Nn2MwOksRAjd0e | NULL | 2017-04-07 16:05:53 | 2017-04-07 16:05:53 |
| 3 | Guxguz | [email protected] | $2y$10$fcxZSH9tTFQ8NYRKK46mTuLos3M/vIdzHintrDWhfx5dpteuL4FEG | NULL | 2017-04-07 21:17:04 | 2017-04-07 21:17:04 |
| 4 | Sluxsux | [email protected] | $2y$10$l1QdRB7vrkYvwaA4OiMkWeWl5h2l41U4d9yp1uLuWdcp8QuV07APm | NULL | 2017-04-07 21:21:54 | 2017-04-07 21:21:54 |
| 6 | Anbob | [email protected] | $2y$10$SO/NsCXmBxGjtsBQmvXrMuUyUb8wjmTE532UaImFqXDxeuGI95hCa | NULL | 2017-04-07 21:23:20 | 2017-04-07 21:23:20 |
+----+---------+---------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
マイコントローラ:
私は取り戻す何$users = DB::table('chat')
->select('sender', 'admin', 'name')
->orderBy('chat.admin', 'asc')
->groupBy('sender')
->join('users', 'chat.sender', '=', 'users.id')
->get();
:
[{"sender":"1","admin":"0","name":"Foobar"},{"sender":"3","admin":"0","name":"Guxguz"}]
Foobarにはadmin = 0と表示されていますが、これは正しくありませんが、 データベースを見ると、Foobarの最新行にadmin = 1と表示されます。
私は基本的に各ユーザの最後の行を取る必要があるので、 とadmin-columnから名前を取得してadmin-columnが0(私は最後ではない)か1(私は最後でした)。
私は注文してみました、別名、最大ID、...しかし、何も働いていません。
ありがとうございます!
すでにモデルとリレーションを定義しましたか? –
いいえ、私がそれをしたら私のコントローラーはどうしたらいいですか? –