dsideal2015 2019-01-03 07:21
浏览 33
已采纳

如何在laravel中设置未来的Soft Deleted

According to this Question : Is it possible to perform "future" soft delete in laravel? Is it can use in laravel 5.6 ? and If It can Where can I create Traits

I try to create Traits in app\Traits\ but when I call in in models It always said Trait 'App\Traits\MySoftDeletingTrait' not found

I created 2 file in app\Traits - MySoftDeletingScope.php

namespace App\Traits;

class MySoftDeletingScope extends Illuminate\Database\Eloquent\SoftDeletingScope {
    public function apply(Builder $builder)
    {
        $model = $builder->getModel();

        $builder->where($model->getQualifiedDeletedAtColumn(), '<=', Carbon::now());

        $this->extend($builder);
    }
}

the 2nd one MySoftDeleteingTrait.php

namespace App\Traits;

use Illuminate\Database\Eloquent\SoftDeletingTrait;

trait MySoftDeletingTrait {
    public static function bootSoftDeletingTrait()
    {
        static::addGlobalScope(new MySoftDeletingScope);
    }
}

In Uer php I call

use App\Traits\MySoftDeletingTrait; use Notifiable, HasRoles, MySoftDeletingTrait;

  • 写回答

1条回答 默认 最新

  • dongyu2047 2019-01-03 07:41
    关注

    You need to doubly specify the traits that you use. Firstly, outside of the class definition at the start of the file as an include:

    use App\Traits\MySoftDeletingTrait;
    

    and then later on inside of the class:

    use Notifiable, HasRoles, MySoftDeletingTrait;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题