亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Laravel PHP 中設置控制器的正確方法

在 Laravel PHP 中設置控制器的正確方法

PHP
慕桂英546537 2023-12-15 16:23:56
我無法弄清楚哪種是創建和使用控制器的正確方法。假設我們有一個帶有索引方法的控制器來顯示數據庫記錄,并且我們有以下數據庫結構:|id|名稱|活躍|所以我想僅顯示用戶端的活動記錄和管理端的所有記錄(活動和非活動)。從邏輯上講,對于這兩個操作,我們都會使用索引方法,對吧?我們是否應該在用戶端使用索引方法并為管理端創建另一個方法,或者反之亦然? 什么是最靈活的解決方案,以便我們可以對兩個視圖使用 Route::resource ?
查看完整描述

2 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

首先,您必須在應用程序中實現一個角色系統,并設置 2 個角色管理員和用戶。 您可以通過多種方式進行過濾,但我建議的方式是:

  1. 如果角色是用戶,則在模型中使用一個范圍來刪除 inactif 范圍。

  2. 在模型中使用特征來為每個角色返回正確的數據,例如特征中的 2 個方法,一個用于用戶,另一個用于管理員。

這兩種方法可以在模型級別上進行過濾,這就是我的建議,擁有一個高質量的軟件。并且不要有骯臟和硬編碼的解決方案。因為如果將來這種情況發生變化,您不必交叉所有代碼,只需編輯特定部分即可。

您可以查看 laravel 文檔以查看有關概念的詳細信息。


查看完整回答
反對 回復 2023-12-15
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

如果您想繼續使用相同的方法,則僅當用戶不是管理員時才添加對數據庫查詢的限制。例如


$query = \App\Model::query();


if( !Auth::user()->isAdmin() )

{

    $query->where('active', true);

}


$records = $query->get();


查看完整回答
反對 回復 2023-12-15
  • 2 回答
  • 0 關注
  • 188 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號