【问题标题】:Get the $request object in Laravel's model events (ex. created, updated etc.)在 Laravel 模型事件中获取 $request 对象(例如创建、更新等)
【发布时间】:2020-07-25 00:01:46
【问题描述】:

在创建/更新/删除模型后,我正在使用 Eloquent 的模型事件来执行一些操作。我指的是这些:

class User extends Model 
{

    public static function boot()
    {
        parent::boot();

        self::created(function($model){
            // ... code here
        });

        self::updated(function($model){
            // ... code here
        });

        self::deleted(function($model){
            // ... code here
        });
    }

}

问题:我需要访问其中任何一个中的 $request 对象。可能吗?我正在尝试做的场景是在存储当前模型后在另一个数据库表中插入一些值。值在 $request 中。而且我无权访问控制器来手动执行此操作。

【问题讨论】:

  • 活动中为什么要在这里做呢?您可以使用事务并插入到该事务中的另一个表中。
  • 试试request()
  • 您可以从请求创建一个模型,然后将其静态分配给模型,然后您可以在boot() 方法中使用。这使得模型与系统的耦合度降低。

标签: php laravel eloquent


【解决方案1】:

你可以看看:Laravel access request object outside controller

laravel 中有请求助手。您可以在任何地方使用请求对象。例如

request()->field_name 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多