OrderByRaw并以随机顺序显示每种情况| Laravel

时间:2019-03-14 13:11:11

标签: laravel-5 eloquent

我使用laravel 5.7并尝试自定义类别和搜索结果。

我的帖子在字段“计划”中包含3种不同的计划:基本计划,专业计划和高级计划。

我想做的是在Pro中的所有帖子中显示所有具有溢价的帖子,而在Basic中则显示所有帖子,而在没有计划的情况下显示到最后一个帖子。

我可以使用orderByRaw来做到,我可以做到:

  ->orderByRaw("CASE WHEN plan = 'Basic' THEN 3 WHEN plan = 'Pro' THEN 2 WHEN plan = 'Premium' THEN 1  ELSE 4 END")

我的订单很好。

但是现在我想按计划以随机顺序显示帖子。 因此,首先在所有带有计划保费的帖子中按随机顺序排列,然后在所有带有计划Pro的帖子中按随机顺序排列等等。

如果我在orderBYRow中添加'RAND()'则无法正常工作,所以我问我是否有很好的方法。

0 个答案:

没有答案