laravelでユーザーの操作に関係ない処理はどこにどのように書くのか知りたいです。
具体的には、ユーザーの投稿した記事が一定時間経過後、その記事に対するコメント数や評価数を、記事のテーブルとは別のテーブルで保持するということを考えています。また、一定時間が数分の場合と数日の場合では処理は変わりますか?
別の質問になりますが、eloquantを利用していて、questionsテーブル(テーブルのプライマリーキーは自動インクリメント id、膨大なレコードがあると想定)の最後の行を取得したい場合、以下の記述が思いつきましたが問題点があるように感じました。良い方法を教えていただきたいです。
コントローラーの記述
$question = Question::orderBy('id','desc')->first();
idはデータベース上では昇順なのでクエリが遅い?
$question = Question::all()->last();
一度すべてのレコードを取得するためメモリを圧迫する?
回答1件
あなたの回答
tips
プレビュー