首页 > 解决方案 > Laravel withTrashed 仅当父级被丢弃时

问题描述

我有评论部分,但我只想检索已删除的评论,前提是实际上删除了父级

Invite::forWedding($wedding)->withTrashed()->with([
        "comments" => function ($query) {
            // I want to check that "Invite" is trashed , else return unfiltered;
            return $query->withTrashed();
        }
        , "comments.user"
    ]
)->findOrFail($id);

标签: phplaraveleloquent

解决方案


我认为您可以直接查询deleted_at父表中的列。

也许是这样的:

Invite::forWedding($wedding)->withTrashed()->with([
        "comments" => function ($query) {
            $query->whereNotNull('comments.deleted_at');
            $query->whereNotNull('invites.deleted_at');
        }
        , "comments.user"
    ]
)->findOrFail($id);

推荐阅读