首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Tucker-Eric/EloquentFilter Laravel

如何使用Tucker-Eric/EloquentFilter Laravel
EN

Stack Overflow用户
提问于 2021-03-08 13:28:46
回答 1查看 59关注 0票数 0

您好,我正在使用Tucker-Eric/EloquentFilter Laravel。

我想使用模型按关系对其进行过滤

我想让它自动化,而不是使用以下代码:

代码语言:javascript
复制
public function users($users)
{
    //        dd($users);
    return $this->r('users', $users);
}

public function user($user)
{
    //        dd($user);
    return $this->r('user', $user);
}

public function owner($owner)
{
     //        dd($owner);
    return $this->r('owner', $owner);
}

我想让它成为一个基于关系的函数,以便我想在模型上添加另一个关系,我不再需要添加另一个函数。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-04-02 11:19:56

我们特别避开了您正在寻找的隐式功能类型,并选择显式过滤方法,以避免在将新关系/属性添加到模型时出现安全问题,而这些关系/属性将无法隐式过滤。

因此,出于上面的安全考虑,我们不推荐您正在寻找的东西,但是如果您实现了它,它仍然可以存在。听起来setup方法是实现它的最佳位置,因为每次调用->filter()时都会首先调用它。

代码语言:javascript
复制
public function setup()
{
    foreach($this->input() as $key => $val) {
        if($this->getModel()->$key() instanceof \Illuminate\Database\Eloquent\Relations\Relation) {
            // Your logic here
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66524724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档