*前提、実現したいこと
現在、オリジナルアプリの制作をしています。
内容は趣味に関するコミュニティがたくさんあり、ユーザーは好きなコミュニティに参加することができ、そのコミュニティ内で自由にツイートをすることができるアプリです。
実現したいことは、コミュニティ内でユーザーがツイートしていることをタイムラインで表示させているのですが、それを新しい順で表示させたいです。
テーブル設計
communityテーブル
コミュニティが格納されています。
tweetsテーブル
みんなのツイートが格納されています。
*つまづいていること
タイムライン上で古いツイートから表示されているのですが、新しい順にすることができないです。
php
1public function timeline($id) 2 { 3 $tweets = Tweet::orderBy('id', 'DESC') 4 ->get(); 5 6 return view('admin.app.timeline', ['community' => Community::find($id)]); 7 } 8
php
1@if ($community->tweets != NULL) 2 @foreach ($community->tweets as $tweet) 3 <div class="list-group-item"> 4 <h5>{{ $tweet->user->name }}</h5> 5 <p>{{ $tweet->created_at }}</p> 6 <p>{{ $tweet->content }}</p> 7 <a href="{{ action('Admin\AppController@comment',['id' => $tweet->id]) }}" role=button class="btn btn-primary">コメントする</a> 8 <a href="{{ action('Admin\AppController@list', ['id' => $tweet->id]) }}">返信一覧</a> 9 </div> 10 @endforeach 11 @else 12 <p>つぶやきはありません</p> 13 @endif
controllerとbladeのコードは上記のようになっています。
controllerの$tweet~で並び替えは出来ていると思ったのですが、、、
以下のようなコードも試してみましたが、ダメでした。
php
1public function timeline($id) 2 { 3 $tweets = DB::table('tweets') 4 ->orderBy('id', 'desc') 5 ->get(); 6 7 return view('admin.app.timeline', ['community' => Community::find($id)], ['tweets' => $tweets]); 8 }
*補足
言語 php
フレームワーク laravel
DB mysql
どなたかアドバイスをいただきたいです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/06 04:04