Laravel Eloquent - 考虑父母的deleted_at

时间:2017-04-09 08:07:37

标签: php laravel eloquent relationship

我有两种模式:

User:
  id
  parent_id (belongsTo)
  deleted_at

Parent:
  id
  deleted_at

我正在使用Laravel的SoftDeletes特质。目前,当单独查询时,它会过滤掉usersparents(仅deleted_at null的行。)

但我想过滤掉user不仅deleted_at不为空,而且当parent deleted_at {null}时太

如何将全局范围应用于我的模型,以便它也会考虑它的父deleted_at

1 个答案:

答案 0 :(得分:2)

您可以使用query existing relationship existence的任何方法,我个人会使用提供更多灵活性的whereHas()方法:

User::whereHas('parent', function ($query) {
        $query->whereDate('deletedAt', '>', 'somedate');
    });

这样你就可以为这段关系申请更多的条件。