如何通过laravel hasManyThrough关系获取trashed throughModel的relatedModel记录

时间:2017-10-06 15:00:15

标签: php laravel orm laravel-eloquent

我有三个模型UserCustomerMessage

在用户模型中,我有:

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

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

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

现在在我的控制器中返回用户的消息,如此

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

我无法获取属于已故客户的邮件。

请建议解决方案。我没有在User和Message模型中使用softDeletes。

1 个答案:

答案 0 :(得分:0)

hasManyThrough不支持像withTrashed这样的softedelete函数。

我认为你应该尝试另一种关系模式