Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.3-调用未定义的方法Illumb\Database\Query\Builder::withTrashed()_Php_Laravel 5_Eloquent_Laravel 5.3_Soft Delete - Fatal编程技术网

Php Laravel 5.3-调用未定义的方法Illumb\Database\Query\Builder::withTrashed()

Php Laravel 5.3-调用未定义的方法Illumb\Database\Query\Builder::withTrashed(),php,laravel-5,eloquent,laravel-5.3,soft-delete,Php,Laravel 5,Eloquent,Laravel 5.3,Soft Delete,我使用的Laravel版本是5.3。 我已经在使用trait SoftDeletes了,它也被正确导入了 namespace App\Models; use Illuminate\Database\Eloquent\SoftDeletes; class Reference extends Model { use SoftDeletes; protected $fillable = [ 'client_id', 'email' ]; } 当我使用onlyTr

我使用的Laravel版本是5.3。 我已经在使用trait SoftDeletes了,它也被正确导入了

namespace App\Models; 

use Illuminate\Database\Eloquent\SoftDeletes;

class Reference extends Model {

  use SoftDeletes;

  protected $fillable = [
    'client_id',
    'email'
  ];
}
当我使用onlyTrashed()或withTrashed()方法时,会出现错误

$reference = Reference::withTrashed()->get();

错误:

BadMethodCallException in Builder.php line 2450: 
Call to undefined method Illuminate\Database\Query\Builder::withTrashed()
一些类似的方法正在发挥作用:

Reference::find(1)->delete();
Reference::find(1)->restore();
Reference::find(1)->trashed();

有什么问题吗?

当表中的
列中没有
已删除时,会发生这种情况。您是否在迁移过程中创建了具有如下列的引用表

$table->softDeletes()


即使您在模型上添加了Eloquent\Softdeletes,但如果实际表没有该列,它仍然会失败,并显示您收到的错误消息

我已经用$table->softDeletes()创建了迁移。其他方法正在发挥作用。方法delete()将deleted_at列更新为时间戳。这很奇怪。当我运行Reference::all()时,返回所有行,直到行被删除(时间戳位于deleted_at);
Reference::find(1)->delete();
Reference::find(1)->restore();
Reference::find(1)->trashed();