嵌套集使所有用户成为叶子

时间:2015-10-19 10:54:38

标签: laravel eloquent nested-lists nested-sets

我正在使用Node / Baum作为我的用户类型。当用户注册时,他们可以为他们分配一个不是叶子的用户类型,但是他们在进一步向下并将用户类型设置为叶子之前将无法访问。

示例:如果我有水果(香蕉,苹果,梨)和动物(猫,狗,兔)的类别,我的用户可以分配用户类型'水果',但直到他们选择像'香蕉这样的子类别“他们无法进入。

我需要能够查询我的数据库,以查找具有叶子用户类型的所有用户。由于我也允许他们注册非叶子的用户类型,我需要找到一种方法来区分这两种类型。 Node / Baum附带了一个方法isLeaf(),但不适用于集合。

我该如何进行此查询?

我有一个链接到UserType模型的用户模型。我的UserType模型是Node / Baum扩展名。

$users = User::
        whereHas('user_type', function($q) {  
        // where user_type is leaf ???  
        })  
   ->get();  

我必须指定Node / Baum使用rightleft列来处理嵌套集。测试记录是否为叶子是由right - left == 1完成的。如何在使用Eloquent时在查询中执行此操作?

0 个答案:

没有答案