将数据从控制器传递到 Laravel 中的视图

Pass data from controller to View in Laravel

我有一个无法传递给视图的查询。

$dias_usados = calendario::where('id_funcionario', '=', $userid)
    ->groupBy('id_funcionario')
    ->sum('contaferias');

dd 输出正确的期望值。

我尝试按如下方式传递给视图:

return view(
    'ausencia',
    compact('tabela'),
    ['itens' => $ferias],
    ['dias_usados' => $dias_usados]
);

最后一个 dias_usados 我遇到了问题。前两个正常工作。


<h3>{{$dias_usados}}</h3>

导致以下错误:

Undefined variable: "dias_usados"


我也离开了我在路线上的路径,但我没有看到任何错误

Route::get('Ausencia', [AusenciaController::class, 'index'])->name('ausencia.index');

这是view助手

的定义
function view($view = null, $data = [], $mergeData = []) { }

您误用了该函数,给它三个单独的数组,期望它得到它们作为 $data

修复

return view('ausencia', [
    'tabela' => $tabela,
    'itens' => $ferias,
    'dias_usados' => $dias_usados,
]);
return view('ausencia')
    ->with(compact('tabela'))
    ->with(['itens' => $ferias])
    ->with(['dias_usados' => $dias_usados]);
return view(
    'ausencia',
    array_merge(
        compact('tabela'),
        ['itens' => $ferias],
        ['dias_usados' => $dias_usados]
    )
);