【问题标题】:Laravel use query in creating eventLaravel 在创建事件时使用查询
【发布时间】:2019-04-10 00:34:55
【问题描述】:

在创建这样的事件模型时插入查询值的最佳和干净的方法是什么(Laravel 5.7)

 public static function boot() {

    parent::boot();

    self::creating(function ($model) {


        $model->person_job = App\Job::where('person_name',$request->name);

    });

}

我不想把这个例行查询放在我的控制器中,那么专业开发人员在这里做什么?

【问题讨论】:

    标签: laravel laravel-5 eloquent relationship


    【解决方案1】:

    如果您没有$request 变量,您可以在项目中的任何位置使用request() function(helper)。

    MVC 架构中,逻辑大部分必须位于Controller,在 Laravel 中,事件主要用于执行一些特定的逻辑(我认为逻辑大多不像您在这里那样依赖用户给定的数据)每个模型都基于事件,例如,如果您想在created || creating 事件上为每个Model 生成一个unique_id,或者执行caching 或类似的操作。

    有关活动的更多信息,请参阅here

    【讨论】:

    • 看起来不错,但是在 eloquent 事件中使用查询呢?把它放在静态或非静态方法中好吗?你能解释一下吗,我想知道其他开发人员在这里做的最好的方法
    • 嗯,所以我应该把它移到控制器部分?但我认为它不是很干净
    • 是的,我认为没有必要在事件中做那个逻辑。
    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 2021-08-27
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2020-09-09
    相关资源
    最近更新 更多