【问题标题】:How to get relatedModel records of trashed throughModel in laravel hasManyThrough relationshiplaravel hasManyThrough 关系中如何获取丢弃的throughModel的相关Model记录
【发布时间】:2018-03-18 10:22:59
【问题描述】:

我有三个模型UserCustomerMessage

在用户模型中我有:

public function customers()
{
    return $this->hasMany(Customer::class);
}

public function messages()
{
    return $this->hasManyThrough(Message::class, Customer::class);
}

当我在 Customer 模型中使用 softDeletes 特征时。

现在在我的控制器中,同时像这样返回用户的消息

$messages  = auth()->user()->messages()->paginate(30);

我无法收到属于已删除客户的消息。

请提出解决方案。我没有在用户和消息模型中使用 softDeletes。

【问题讨论】:

    标签: php laravel orm laravel-eloquent


    【解决方案1】:

    hasManyThrough 不支持软删除功能,例如 withTrashed。

    我认为你应该尝试另一个关系模型

    【讨论】:

      【解决方案2】:

      你可以这样做:

      $user->messages()->withTrashedParents()->withTrashed();
      

      【讨论】:

        猜你喜欢
        • 2017-11-18
        • 1970-01-01
        • 1970-01-01
        • 2018-07-24
        • 2018-10-18
        • 2023-03-09
        • 1970-01-01
        • 2020-10-14
        • 1970-01-01
        相关资源
        最近更新 更多