这是我目前拥有的代码:
$programmefundings = Programmefunding::where('status', '!=', 'draft')->orderByRaw("FIELD(status , 'open', 'announced', 'delayed', 'closed') ASC")->orderBy('date_start', 'desc')->get();
所以它获得了我所有的项目资金,除了那些状态为'draft',对它们重新排序'open' to 'closed'并通过以下方式排列它们'开始日期'.
我需要重新排序另一列状态为“已宣布”的计划资金'公告日期' in 'asc'秩序不扰乱'open' to 'closed'它当前具有的结构,并且不会影响任何其他不具有状态值的计划结果‘宣布’.
这可能吗?有人知道如何做到这一点吗?
谢谢你!
您应该能够通过IF
陈述。
$programmefundings = Programmefunding::where('status', '!=', 'draft')
->orderByRaw("FIELD(status , 'open', 'announced', 'delayed', 'closed') ASC")
->orderByRaw("IF(status = 'announced', accouncement_date, date_start) DESC")
->get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)