Laravel-orderBy与地图功能的关系

时间:2019-05-07 11:32:44

标签: php laravel

我正在寻找一种解决方案,以使用map函数和toArray()的关系按字母顺序对制造商列表进行排序。这是代码示例:

$manufacturers = Manufacturer::with('translation')
->get()
->map(function ($m) {
      return ['key' => $m->getName(), 'value' => $m->id];
      })
->pluck('key', 'value')
->prepend('Choose manufaturer', '')
->toArray();

然后在视图中创建选择列表:

enter image description here

我试图将orderBy添加到这样的翻译中:

$manufacturers = Manufacturer::with(['translation' => function ($q) {
  $q->orderBy('name', 'ASC');
}])->get()  
// code cutted here (same as above)

代码未显示错误,但未排序。我猜每个制造商集合都有它自己的翻译,并且在每个制造商中的订购要比整个列表中的订购要多。

这里是dd($ manufacturers):

enter image description here

我也在考虑两个解决方案-像其他开发人员一样在stackoverflow上添加join来查询查询或在php中排序似乎是个坏主意。有没有针对此问题的“简单”解决方案?

0 个答案:

没有答案