【发布时间】:2016-06-06 03:29:18
【问题描述】:
我有优惠和常见问题解答。我有功能关系,我可以参考 $deal->faqs() 并返回正确的常见问题解答。
当我管理与交易相关的常见问题时,我试图解决的问题就出现了。在我的交易管理视图(新/编辑)中,我得到了所有常见问题解答。
$faqs = \App\Faq::all();
这很好用,我什至可以通过我的复选框检查常见问题解答是否与交易相关:在视图中:
{!! Form::checkbox('faqlist[]', $faq->id, $deal->faqs->contains($faq->id) ? true : false) !!}
所以现在我们有了所有常见问题的列表,并且检查了正确的问题。
我在数据透视表 (deal_faq) 上设置了一个订单列。该表包括:
- deal_id
- faq_id
- 时间戳
- 订购
在我的表单中,我构建并运行了一个拖放订购解决方案 (js)。通过工作,我的意思是,我可以拖放并更新隐藏字段值以反映正确的顺序。
创建交易时,这没有问题。获取所有常见问题解答,选中一些进行关联,拖动到排序,然后保存。
编辑交易时,我需要根据 deal_faq 表中的订单列进行加载。这是我的问题。
我尝试了一些方法,但总是出错。我尝试过的一个例子是:
$faqs = \App\Faq::orderBy('deal_faq.order', 'asc')->get();
这会返回一个错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'deal_faq.order' in 'order clause' (SQL: select * from `faq` order by `deal_faq`.`order` asc)
我认为问题在于我试图获取所有内容,但是按仅存在于相关常见问题解答的字段进行排序,因为订单字段位于 deal_faq 上。只是不知道如何解决。
【问题讨论】:
标签: laravel