Laravel 5.2 withTrashed

时间:2018-07-09 20:23:57

标签: laravel laravel-5.2

我正在学习Laravel,我想看看withTrashed()方法,但是在任何地方都找不到。我在IDE中浏览了文件,没有任何迹象。然后,我查看了Laravel的API文档,但也找不到它。但是,当我在代码中使用它时,它就可以工作。那它在哪里呢?它返回什么(我仅从文档中的代码片段中选择c + p)?

1 个答案:

答案 0 :(得分:0)

要回答这个问题,该代码似乎包含在

/vendor/laravel/framework/src/Illuminate/Database/Eloquent/SoftDeletingScope.php

特别是:

// 12: 
protected $extensions = ['Restore', 'WithTrashed', 'WithoutTrashed', 'OnlyTrashed'];

// 71:
$builder->macro('restore', function (Builder $builder) {
  $builder->withTrashed();
  ...

// 83 and 85:
protected function addWithTrashed(Builder $builder){
  $builder->macro('withTrashed', function (Builder $builder) {
    return $builder->withoutGlobalScope($this);
});