【发布时间】:2021-03-30 14:36:40
【问题描述】:
我是 Laravel 的新手,我正在尝试合并或加入一个数组中的数组,这些数组具有一对多的关系。 这些是模型:
class GroupMenu extends Model
{
public function optionmenu()
{
return $this->hasMany(OptionMenu::class, 'groupmenu_id');
}
}
class OptionMenu extends Model
{
public function groupmenu()
{
return $this->belongsTo(GroupMenu::class, 'groupmenu_id');
}
}
我也有这个函数,它返回以下排列。
public function getOptionMenus()
{
$optionmenu = OptionMenu::whereHas('tipousuario', function ($query) {
$query->where('tipousuario_id', session()->get('tipousuario_id'))->orderBy('orden');
})->get()->toArray();
return $optionmenu;
}
输出是这样的:
array:17 [▼
0 => array:2 [▼
"id" => 1
"groupmenu_id" => 1
]
1 => array:2 [▼
"id" => 2
"groupmenu_id" => 1
]
2 => array:2 [▼
"id" => 3
"groupmenu_id" => 1
]
3 => array:2 [▼
"id" => 4
"groupmenu_id" => 2
]
4 => array:2 [▼
"id" => 5
"groupmenu_id" => 2
]
我的问题是我想要一个数组,其中每个 groupmenu 中都有 optionmenu 的数组,类似这样:
0 => array:2 [▼
"id" => 1
"optionmenu" => array:3[array of all the optionsmenu that belongs to the groupmenu]
]
1 => array:2 [▼
"id" => 2
"optionmenu" => array:1[array of all the optionsmenu that belongs to the groupmenu]
]
【问题讨论】:
-
使用
OptionMenu::with('GroupMenu')然后你在哪里声明 -
tipousuario是什么 - 另一个您在会话中存储 id 的相关模型? -
是的! tipousuario 是另一个相关模型
标签: php arrays laravel eloquent