2017-04-09 50 views
1

我有兩個型號:Laravel雄辯 - 考慮父母的deleted_at

User: 
    id 
    parent_id (belongsTo) 
    deleted_at 

Parent: 
    id 
    deleted_at 

我使用Laravel的SoftDeletes特質。目前,當單獨查詢時,會過濾出usersparents(僅限於deleted_at null的行)。

但我想過濾掉user不僅當deleted_at不爲空,而且當它的parentdeleted_at也不爲零時。

如何將全局範圍應用於我的模型,以便它會認爲它也是父級的deleted_at

+1

'User :: has(「parent」) - >哪裏(...)'應該工作 – apokryfos

+0

@apokryfos我知道有這樣的事情!謝謝! – alashow

回答

2

你可以使用任何的方法來query existing relationship existence,我會親自使用whereHas()方法,它提供了更多的靈活性:

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

你可以申請更多的條件之間的關係的方式。