Laravel获得渴望的结果,获得了热切的客户关系

时间:2019-01-10 13:52:43

标签: laravel pivot-table lazy-loading eager-loading

我有:

  • 'cards'表 -ID -名称

  • “卡片类别”表

    • id
    • card_id
    • category_id
  • “类别”表

    • id
    • 名称
    • 索引

我要加载卡,然后急于加载关系,我想做的就是这样做:

Card :: with('ctrCategories.category').......;

我希望所有从类别中加载的类别都将按索引仅分类。

我花了整天的时间做所有事情,但没有解决办法:

我尝试过:

$ card = Card :: findOrFail($ id);        返回$ card-> with('cardCategories')

   ->with('ctrCategories.category')
   ->with('ctrCategories.arguments')
   ->orderBy('ctrCategories.category.index')->get();

我也尝试过这种方法:

$data = $this->card
->with([
    'roles' => function ($q) {
        $q->with(['tabs' => function ($q) {
            $q->with(['department' => function ($q) {
                $q->with(['panel' => function ($q) {
                    $q->orderBy('position', 'asc');
                }])->orderBy('position', 'asc');
            }])->orderBy('position', 'asc');
        }])->orderBy('position', 'asc');
    }
])

-> findOrFail($ id);

===== EDIT =====

我编写了SQL查询,并得到了想要的结果现在,我想将其转换为Laravel Eloquent或DB查询:

选择cardsidcardsnamecategoriesnamecategoriesidcategoriesindex 来自cards card_categories上的内部联接cardsid = card_categoriescard_id categories上的内部联接categoriesid = card_categoriescategory_id 其中cardsid = 120 AND cardssupport_id = categoriessupport_idcategories排序。index asc

有什么帮助吗?经过几个小时的测试我无法弄清楚

0 个答案:

没有答案