您好,我正在使用Tucker-Eric/EloquentFilter Laravel。
我想使用模型按关系对其进行过滤
我想让它自动化,而不是使用以下代码:
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);
}我想让它成为一个基于关系的函数,以便我想在模型上添加另一个关系,我不再需要添加另一个函数。
谢谢!
发布于 2021-04-02 11:19:56
我们特别避开了您正在寻找的隐式功能类型,并选择显式过滤方法,以避免在将新关系/属性添加到模型时出现安全问题,而这些关系/属性将无法隐式过滤。
因此,出于上面的安全考虑,我们不推荐您正在寻找的东西,但是如果您实现了它,它仍然可以存在。听起来setup方法是实现它的最佳位置,因为每次调用->filter()时都会首先调用它。
public function setup()
{
foreach($this->input() as $key => $val) {
if($this->getModel()->$key() instanceof \Illuminate\Database\Eloquent\Relations\Relation) {
// Your logic here
}
}
}https://stackoverflow.com/questions/66524724
复制相似问题