私は2つのテーブルを持っています投稿と共用ポストです。 sharedpostsテーブルには、 "user_id"、 "updated_at"、 "post_id"というカラムがあります。投稿テーブルには 'id'、 'title'、 'body'があります。私は両方のテーブルをリンクする関係について知っています。私がしたいのは、両方のテーブルから 'updated_at'によって注文された各投稿を表示することだけです。クエリビルダと雄弁な方法の両方で助けてください。 Thankularavel5の複数のテーブルからデータを取得する
1
A
答えて
0
コードがテストされていませんが、あなたはこれを試すことができます。
Post::whereHas('sharedpost',function($query){
$query->orderBy('updated_at');
})->get()
0
多分モデルのアップデートの多くには存在しない場合は少し異なるアプローチ?私は読み取りが高速化する必要がありますと仮定し、この方法は、次にEvents更新フィールドを使用して、新しい移行とadding
$table->timestamp('last_updated');
を作成することにより、
がテーブルに別のフィールドを追加します(私は間違ってここにいる場合誰かが私を修正してください) Post
またはSharedPost
がAppServiceProvider
にこれを追加することによって更新されるたび:
public function boot()
{
Post::saving(function ($post) {
$post->last_updated = Carbon::now();
});
}
を私はしかしこれがうまくいくかどうかわからないんだけど、あなたが返される場合は、それをいただければ幸いですフィードバックは私が瞬間に自分自身を試して怠惰だ:)。
public function boot()
{
SharedPost::saved(function ($sharedpost) {
$sharedpost->post->last_updated = Carbon::now();
$sharedpost->save();
});
}
か、AppServiceProvider
でコードをしたくない場合は、オブザーバーをチェックアウトすることができます:最悪のシナリオでは、あなたのような方法を変更する必要があります。それを使用していないが、それは簡単だと思われる。
その後、あなたは可能性があり、単純にPost::orderBy('last_updated')->get();
この方法で、あなたのデータベースに1つのまたは2以上の入力を持つことになりますが、私は(と私が間違っている場合は、みんなが私を修正してください)get()
がより速くなるべきだと思います。私はMySQLの専門家とはまったく離れていることに留意してください。
Redisを使用してこのデータをキャッシュに保存すると、さらに高速化できます。
関連する問題
- 1. データベースから複数のテーブルからデータを取得する
- 2. laravel5で別のテーブルの列データを取得する方法は?
- 3. Codeigniterの複数のテーブルからデータを取得する
- 4. mysqlの複数のテーブルからデータを取得するには?
- 5. Cakephpの複数のテーブルからデータを取得する
- 6. postgresqlの複数のテーブルからデータを取得する
- 7. 複数のmySQLテーブルからデータを取得する
- 8. 複数のテーブルからデータを取得するmysql php
- 9. 複数の関連テーブルからデータを取得するCakePHPコントローラメソッド
- 10. 複数のテーブルからデータを取得するSQL
- 11. JPQLは複数のテーブルからデータを取得します
- 12. 休止状態の複数のテーブルからデータを取得
- 13. 複数のテーブルからレコードを取得
- 14. Laravel 5複数(3)のテーブルからデータを取得
- 15. Laravel Eloquent複数の関連テーブルからデータを取得
- 16. 複数の条件でテーブルからデータを取得Excel
- 17. myScannerから複数のデータを取得
- 18. 複数のテーブルからデータを取得するためのHQLクエリ
- 19. 複数のテーブルから7日間のデータを取得する方法
- 20. 同じテーブル内の複数の列からデータを取得する
- 21. .Include()を使用して複数のテーブルからデータを取得する
- 22. ViewModelを使用して複数のテーブルからデータを取得しますか?
- 23. 複数のテーブルから取得するmysqlクエリから行のテーブル名を取得する
- 24. symfonyのdoctrineの複数のテーブルから複数のカラムを取得するクエリ
- 25. Silverlightの複数のエンティティから複数のテーブルの列を取得する
- 26. MySQLテーブルから複数の行の値を取得する
- 27. MySQLの複数のテーブルから一致を取得する
- 28. 複数のテーブルから特定の値を取得する
- 29. RDLCのストアドプロシージャから複数のテーブルを取得する方法?
- 30. MySQLデータベース内の複数のテーブルから値を取得する
基本的に何をしようとしていますか? – root
sharedpostテーブルのupdated_atカラムに従って、すべての投稿を並べ替えます。 – smartrahat
はい私はそれが私がチェックするように働いていると思う – root