私は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. Codeigniterの複数のテーブルからデータを取得する
- 2. postgresqlの複数のテーブルからデータを取得する
- 3. mysqlの複数のテーブルからデータを取得するには?
- 4. 複数のテーブルからデータを取得するSQL
- 5. 複数のmySQLテーブルからデータを取得する
- 6. 休止状態の複数のテーブルからデータを取得
- 7. 複数のテーブルからレコードを取得
- 8. Laravel Eloquent複数の関連テーブルからデータを取得
- 9. Laravel 5複数(3)のテーブルからデータを取得
- 10. myScannerから複数のデータを取得
- 11. 複数のテーブルから7日間のデータを取得する方法
- 12. 複数のテーブルからデータを取得するためのHQLクエリ
- 13. 同じテーブル内の複数の列からデータを取得する
- 14. .Include()を使用して複数のテーブルからデータを取得する
- 15. ViewModelを使用して複数のテーブルからデータを取得しますか?
- 16. 複数のテーブルから取得するmysqlクエリから行のテーブル名を取得する
- 17. symfonyのdoctrineの複数のテーブルから複数のカラムを取得するクエリ
- 18. Silverlightの複数のエンティティから複数のテーブルの列を取得する
- 19. MySQLテーブルから複数の行の値を取得する
- 20. MySQLデータベース内の複数のテーブルから値を取得する
- 21. MySQLの複数のテーブルから一致を取得する
- 22. MySQLで複数のテーブルのデータを取得する
- 23. 複数のテーブルからレコードを取得する
- 24. 複数のテーブルからレコードを取得する方法
- 25. 複数のリンクからのデータを取得する
- 26. Vue.js - オブジェクト内の複数のキーからデータを取得する
- 27. mongodbの複数のコレクションからデータを取得する
- 28. 異なるテーブル行の複数のチェックボックスから値を取得
- 29. CoreDataから複数のエンティティを持つデータを取得する
- 30. 複数のオブジェクトレベルからjsonデータを取得する方法
基本的に何をしようとしていますか? – root
sharedpostテーブルのupdated_atカラムに従って、すべての投稿を並べ替えます。 – smartrahat
はい私はそれが私がチェックするように働いていると思う – root