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