如何在 Laravel 模型关系中传递参数

Ста*_*лов 3 php relation laravel eloquent

我制作了一个类别树,我需要将一个参数传递给关系,但我无法传递它们。

public function Child()
{
    return $this->hasMany(Category::class, 'parent_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)

但我想使用变量来传递关系,如下所示。

public function Child()
{
    return $this->hasMany(Category::class, 'parent_id', 'id')->where(['owner_id' => $this->ownerId]);
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用变量但什么也没收到,但如果我使用硬编码值则效果很好。请帮忙

小智 7

$models = App\{YourMainModel}::with(['Child' => function ($query) use ($this) {
    $query->where(['owner_id' => $this->ownerId]);
}])->get();
Run Code Online (Sandbox Code Playgroud)