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

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

Laravel 策略不會自動應用于模型

Laravel 策略不會自動應用于模型

PHP
慕容3067478 2023-04-21 15:51:52
根據 Laravel 文檔,如果遵循命名約定,策略應該被自動發現:它應該放在目錄中Policies,它的名稱應該是模型名稱加上單詞Policy,模型應該在app目錄中。就我而言,這一切都是正確的,但該政策不起作用。型號名稱是Screen。該政策被命名為ScreenPolicy:class ScreenPolicy{    use HandlesAuthorization;    /**     * Create a new policy instance.     *     * @return void     */    public function __construct()    {        //    }    public function delete(User $user, Screen $screen)    {        return false;    //always return false for testing    }}在我的控制器中,我有以下刪除 a 的方法Screen:public function delete(Request $request) {    $screen = Screen::find($request->screen_id);    $screen->delete();    ...}我的期望是我不應該能夠刪除此處Screen,因為該策略始終返回 false,但是Screen通過調用此方法已成功刪除。我究竟做錯了什么?
查看完整描述

1 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

您仍然需要調用 authorize()。

$screen = Screen::find($id);

if ($this->authorize('delete', $screen)) {

? ?$screen->delete();

}


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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