Mar*_*123 4 php relationship laravel eloquent laravel-4
我的很多模型和其他代码都在这里并且与这个问题相关:
laravel - Query Builder vs. Eloquent
我有这个查询:
$recipes = Recipe::whereHas('categories', function($q) use ($cat_id) {
$q->where('category_id', $cat_id);
})->with('user')->get();
Run Code Online (Sandbox Code Playgroud)
如果我选择(示例)ID = 5,效果很好。我得到了 category_id = 5 的所有食谱。
如果...
假设,category_id = 5 的父级的 id = 1(主要类别的 ID 为 1-3,所有子级的 ID 为 4 到 x)。
我现在需要,如果有人点击主类别,在这种情况下,ID = 1,我可以获得与包括孩子在内的主类别相关的所有食谱。所以我从第 1 类和第 5 类(依此类推)中获取所有内容。
我不知道如何设置关系或构建查询。
其次,我还需要把这个功能实现到网站的“高级搜索”方法中,但我想,如果我能解决这个问题,剩下的就“简单”了。
帮助表示赞赏。谢谢!
根据title
您在问题中描述的细节和细节让我认为,您想使用同一模型和id
字段的另一个字段/列创建与模型本身的关系,在这种情况下,您可以使用类似的方法创建这样的关系这个:
class Category extends Eloquent {
public function recipes()
{
return $this->hasMany('Category', 'category_id');
}
}
Run Code Online (Sandbox Code Playgroud)
根据这种关系,你的categories
表应该包含主键id
和另一个字段category_id
来建立关系,如果一个id
是1
,如果category_id
包含,1
那么id=1
和之间存在关系category_id=1
。
几天前我写了一篇关于同一件事的文章,你可以阅读这篇文章以获得我正在谈论的更好的想法:LARAVEL – 模型与自身的关系。
归档时间: |
|
查看次数: |
16964 次 |
最近记录: |