Laravel 更新到4.2后,withTrashed()失败
在使用composer update更新到4.2之后,我添加了Laravel 更新到4.2后,withTrashed()失败,laravel,laravel-4,eloquent,query-builder,Laravel,Laravel 4,Eloquent,Query Builder,在使用composer update更新到4.2之后,我添加了 use SoftDeletingTrait; protected $dates = ['deleted_at']; 根据用户模型。以下是使用此模型的代码: $users=User::withTrashed()->分页(20) 但当我运行应用程序时,它会显示以下错误消息: 未定义索引:用户 位于\vendor\laravel\framework\src\illumb\Database\Eloquent\Model.php 346
use SoftDeletingTrait;
protected $dates = ['deleted_at'];
根据用户模型。以下是使用此模型的代码:
$users=User::withTrashed()->分页(20)代码>
但当我运行应用程序时,它会显示以下错误消息:
未定义索引:用户
位于\vendor\laravel\framework\src\illumb\Database\Eloquent\Model.php 346
我试着换成
$users = User::all();
一切都很好。那么我该如何解决这个问题呢?这个问题可能是因为如果您有覆盖模型的构造函数,但没有调用父类。因此,在您自己的模型的构造函数中添加parent::\uu constructor()
。另外,@Ash已经说过,如果您设置静态boot
方法,您还需要调用parent::boot()
我已经解决了这个问题。这是因为我覆盖了模型的构造函数,但并没有调用父构造函数。在我添加了parent::\uu construct()
之后,一切都正常了。您可能想添加它作为问题的实际答案。我对此也有类似的问题。我没有重写\uu构造
——结果是,如果设置静态boot
方法,您还需要调用:parent::boot()代码>