Laravel 5.0如何用()查询来命令一个雄辩的

时间:2016-09-21 00:42:17

标签: laravel laravel-5

我有两个模型:item和faq。它们在belongsToMany中,彼此之间具有正确创建的连接表:item_faq(两者都是单数)。我的联接表上有一个额外的字段用于订购。

在我看来,我得到了所有常见问题解答,如果他们有一个数据透视表记录,我输出"检查"在一个复选框上。我也在复选框列表上进行拖放排序,效果很好。

一些代码说明:

// ITEMS MODEL
public function faqs(){
        return $this->belongsToMany('App\Faq');
    }

// FAQ MODEL
public function items(){
    return $this->belongsToMany('App\Item');
}

public function hasItem($item) {
    $items = $this->items->lists('id');
    return in_array($item, $items);
}

联接表的架构:

  • ITEM_ID
  • faq_id
  • 顺序
  • 时间戳

我的问题是,他们没有按照数据透视表上的订单栏进行排序。

我使用的很简单:

$faqs = \App\Faq::with('items')->get();

要检索常见问题解答,这可以获取所有常见问题解答,如果它们相关,则会检查复选框。

如何通过联接表上的订单栏订购这些?

1 个答案:

答案 0 :(得分:0)

查看Eager Load Constraints,我认为它将有助于提供解决方案。来自文档:

  

当然,急切加载闭包不仅限于“约束”。您也可以申请订单:

      <md-tabs md-stretch-tabs="always" md-selcted="1">
  <!-- ; $event.stopPropagation(); -->
    <md-tab ng-repeat="w in shoe.wearers" label="{{$index +1}}"  md-menu-disable-close="md-menu-disable-close"  ng-click="openMenu($mdOpenMenu, $event)">
      <md-content>{{w}}</md-content>
    </md-tab>
  </md-tabs>