Laravel 6,将多个阵列从控制器传递到视图

Laravel 6,将多个阵列从控制器传递到视图,laravel,Laravel,我是Laravel的新手,我需要在一个页面上显示大约8个不同的下拉菜单,所有这些菜单都是从我数据库中的表格填充的,我使用的是刀片 在我的控制器中,我可以在一个函数中创建各种类型的阵列(使用eloquent),并且我可以dd()一次正确地输出一个,我的问题似乎是您只能通过控制器将一个数组传递给视图。我尝试了在这里找到的各种选项,但都没有成功,包括->with和compact()。我尝试在控制器中一次定义一个数组,并使用compact()传递它们,所有这些都会导致错误,要么是变量未定义,要么是试图获

我是Laravel的新手,我需要在一个页面上显示大约8个不同的下拉菜单,所有这些菜单都是从我数据库中的表格填充的,我使用的是刀片

在我的控制器中,我可以在一个函数中创建各种类型的阵列(使用eloquent),并且我可以
dd()一次正确地输出一个,我的问题似乎是您只能通过控制器将一个数组传递给视图。我尝试了在这里找到的各种选项,但都没有成功,包括
->with
compact()
。我尝试在控制器中一次定义一个数组,并使用
compact()
传递它们,所有这些都会导致错误,要么是变量未定义,要么是试图获取非对象。我显然是做错了,任何帮助都会很好

这不是一个代码问题(因此没有发布代码),我认为这更像是一个我还不了解的Laravel问题,提前感谢。

如果您有:

$array1 = [...];
$array2 = [...];
然后你可以:

return view('path.to.view', compact('array1', 'array2');
像这样试试

class YourController extends Controller{
  public function yourMethod(){
    $arr1 = [];
    $arr2 = [];
    return view('view.name', ['arr1' => $arr1, 'arr2' => $arr2]);
}
}

这是我从web.php和我的控制器从ReservationContoller的路线。任何关于数组不会通过的帮助都会很好,非常感谢

Route::get('/client/{client}/reservation/{reservation}', 'ReservationController@getReservation');

public function getReservation($client, $reservation)
{
    $client = Client::findOrFail($client); 
    $reservation = Reservation::where('client_id', $client->id)->get();
    $company = Company::where('type', 'staghen')
    ->where('status', 'Active')
    ->orderBy('comp_name')
    ->pluck('comp_name', 'id'); 

    $cl = array(['client' => $client]);
    $res = array(['reservation' => $reservation]);
    $comp = array(['company' => $company]);

    return view('admin.reservations.reservation', compact('$cl', '$res', '$comp'));
}

请在此处输入一些代码。您必须显示如何使用
compact()
将数据传递给blade的代码,因为您可以使用compact()将无限数组传递给blade文件。您说没有要发布的代码,但您也说您尝试了不同的方法。也许把你试过的东西贴出来
with
compact
是发送任意多个数组的正确方法。欢迎使用堆栈溢出。我建议您参加本次活动,并阅读如何提问以及相关的帮助主题。寻求调试帮助的问题应该包括一个最小的可重复性示例、您的期望(应该发生什么)以及您的代码在哪里等。该信息(包括错误消息等)应作为文本包含,并可选择使用图像来增加清晰度我已经在下面发布了我的路线(来自web.php)和我的函数