gpt4 book ai didi

php - Laravel - Eloquent self 关系

转载 作者:可可西里 更新时间:2023-11-01 01:01:48 24 4
gpt4 key购买 nike

我的很多模型和其他代码都在这里并且与这个问题相关:
laravel - Query Builder vs. Eloquent

我有这个问题:

        $recipes = Recipe::whereHas('categories', function($q) use ($cat_id) {
$q->where('category_id', $cat_id);
})->with('user')->get();

如果我选择(示例)ID = 5,效果很好。我得到了所有 category_id = 5 的食谱。

如果……怎么办
比方说,category_id = 5 的父级 id = 1(主要类别的 ID 为 1-3,所有子类别的 ID 为 4 到 x)。

我现在需要,如果有人点击主要类别,在本例中,ID = 1,我可以获得与主要类别相关的所有食谱,包括 child 。所以我从第 1 类和第 5 类(依此类推)中获取所有内容。

我不知道如何设置关系或构建查询。

其次,我还需要将这个功能实现到网站的“高级搜索”方法中,但我想,如果我能解决这个问题,剩下的就“容易”了。

感谢您的帮助。谢谢!

最佳答案

取决于title你在问题中描述的细节让我觉得,你想使用同一模型的另一个字段/列和 id 创建与模型本身的关系。字段,在这种情况下,您可以使用如下方式创建这样的关系:

class Category extends Eloquent {

public function recipes()
{
return $this->hasMany('Category', 'category_id');
}

}

根据这个关系,你的categories表应包含主键 id另一个字段为 category_id建立关系,如果 id1如果category_id包含 1那么id=1之间有关系和 category_id=1 .

几天前我写了一篇关于同一件事的文章,您可以阅读这篇文章以更好地理解我在说什么:LARAVEL – MODEL RELATIONSHIP TO ITSELF .

关于php - Laravel - Eloquent self 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com