寫論壇遇到問題了,有空的朋友幫幫忙
問題描述
收藏的帖子被用戶刪除了,這說明帖子表沒有這個帖子了,但是收藏表還有數(shù)據(jù),我用關聯(lián)的查出來是空的,然而我要的結(jié)果是顯示“該帖子已被刪除”
php代碼:
$collect = db('collect')->where('user_id',session('user_data.id'))
->alias('a')->join('content b','a.content_id=b.id')
->paginate(10);
帖子表:
收藏表:
問題解答
回答1:不要物理刪除,盡量邏輯刪除,修改狀態(tài)。
目前設計用LEFT JOIN試試
db('collect')->where('user_id',session('user_data.id'))->alias('a')->leftJoin('content b','a.content_id=b.id')->paginate(10);
回答2:這個屬于設計的問題。按理說,不應該讓用戶刪除數(shù)據(jù)庫的數(shù)據(jù)的。
就算刪除,也只是把狀態(tài)改為 刪除,真實的數(shù)據(jù),還存在。
如果你要做可以刪除數(shù)據(jù)庫里的數(shù)據(jù),那用戶刪除這個帖子的時候,要把這個帖子的相關數(shù)據(jù) 都刪除。
所以還是建議你, 改變帖子的狀態(tài), 當刪除帖子后,另一個人查詢這個帖子,提示該帖子已刪除就好了。
而你是管理員,查詢時,就不會因為數(shù)據(jù)丟失 而出錯
