簡體   English   中英

如何從 Laravel 中的數據庫表中檢索記錄並防止那些過期的記錄

[英]How to retrieve records from database table in Laravel and prevent those which are expired

所以我在 MySQL 中有一個表,看起來像這樣

在此處輸入圖片說明

這些基本上是用戶發布的廣告。 此表中的持續時間列是關於用戶想要展示其廣告的天數。 這意味着如果用戶選擇將廣告發布 3 天,我不應該只在 3 天后顯示,這意味着它會在 3 天后過期。 現在我只想檢索那些未過期的記錄。 我已經搜索了很多,但找不到辦法做到這一點。 請給我一個解決方案或參考一個我可以找到解決方案的鏈接。

現在我正在使用這個腳本來獲取帶有簡單分頁的記錄

$items=Post::with('items','users')->paginate(12);
$categories = DB::table('item_categories')->get();
return view('search_post', compact('items','categories'));

你應該用你的分頁做一個 Where 子句。

如此處所述: https : //stackoverflow.com/a/50903963/3808783

喜歡:

$items=Post::with('items','users')
            ->where('created_at', '<=', Carbon::now()->addDays(3))
            ->paginate(12);

使用碳來做到這一點。 只需使用 Carbon addDay($duration)方法將duration添加到created_at 然后將結果為 >= 的帖子返回到today()

所以我把我的桌子改成了這個

將表更改為此

並使用此腳本

$items=Post::with('items','users')->where('duration','>=',\Carbon\Carbon::now() )->paginate(12);
$categories = DB::table('item_categories')->get();
return view('search_post', compact('items','categories'));

它運行良好。 謝謝大家。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM