У меня есть две модели: item и faq. Они находятся в toMotMany друг с другом с правильно созданной таблицей соединения: item_faq (единственное из них). Моя таблица соединений имеет дополнительное поле для заказа.Laravel 5.0 как заказать красноречие с() запросом
На мой взгляд, я получаю все faq и, если у них есть сводная таблица, я выводил «check» на флажке. У меня также есть порядок перетаскивания в списке флажков, и это хорошо работает.
Несколько код Примечания:
// 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();
Чтобы получить часто задаваемые вопросы, и это работает на получение всех чаво, и если они связаны между собой, он проверяет флажок.
Как я могу заказать их по столбцу заказа на таблице соединений?
Я попытался это, но порядок элементов не изменяется. Если поле orderBy не найдено, порядок возвращается к некоему по умолчанию? Должен ли я ссылаться на item_faq.order или просто на заказ? –
Глядя на вашу предоставленную 'FAQ модель', я не вижу отношения' items'. Он есть и просто не указан выше? Что касается поведения по умолчанию, я считаю, что он сортируется по 'id'. Я не подозреваю, что добавление 'item_faq.order' изменится, так как закрытие привязано к соединению' items'. – camelCase
Приносим извинения, что я неправильно обозначил этот код. Отношение Items определено выше (сейчас). В принципе orderBy, похоже, не влияет на порядок, который я не понимаю. –