【问题标题】:withTrashed() failed after updating to 4.2更新到 4.2 后 withTrashed() 失败
【发布时间】:2014-08-20 08:47:49
【问题描述】:

使用 composer update 更新到 4.2 后,我添加了

use SoftDeletingTrait;  
protected $dates = ['deleted_at'];

到用户模型。这是使用此模型的代码:

$users = User::withTrashed()->paginate(20);

但是当我运行应用程序时,它显示以下错误消息:

未定义索引:用户
在 \vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php 346

我试着改成

$users = User::all();

一切正常。那么我该如何解决呢?

【问题讨论】:

  • 我已经解决了这个问题。这是因为我覆盖了模型的构造函数但没有调用父的构造函数。添加parent::__construct()后,一切正常。
  • 您可能希望将其添加为问题的实际答案。
  • 我遇到了类似的问题。我没有覆盖__construct - 如果您设置静态boot 方法,您还需要调用:parent::boot();

标签: laravel laravel-4 eloquent query-builder


【解决方案1】:

这个问题可能是因为如果你覆盖了模型的构造函数但没有调用父母的构造函数。所以在你自己模型的构造函数中添加parent::__constructor()。另外,@Ash 已经提到如果你设置了静态的boot 方法,你还需要调用parent::boot()

【讨论】:

    猜你喜欢
    • 2021-03-15
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 2020-05-04
    • 2012-07-27
    • 1970-01-01
    相关资源
    最近更新 更多