为什么我总是在 Laravel 5.4 中得到 'Undefined variable: charities'?

Why do I keep getting 'Undefined variable: charities' in Laravel 5.4?

我不断收到此未定义变量错误。我试图向用户显示所有慈善机构,我正在为 'charityowners' 类型的用户执行完全相同的功能,并且它正在为他们工作。

路线:

Route::get('charities', 'HomeController@displayCharities');

家庭控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use Auth;
use Image;
use App\Charities;

class HomeController extends Controller
{
    public function displayCharities()
    {
    $charities = Charities::all();

    return view('charities', ['charities' => $charities]);
    }

}

查看:

<table class="table">

<tr>

    <td> <strong> Name </strong> </td>
    <td> <strong> Image </strong> </td>
    <td> <strong> Description </strong> </td>
    <td> <strong> Action </strong> </td>

</tr>

@foreach($charities as $charity)

<tr>

    <td> {{ $charity->name }} </td>
    <td> Not Available </td>
    <td> {{ $charity->description }} </td>

</tr>

@endforeach

</table>

我不断收到的错误是:

ErrorException in d9249250b321fd33ae875d6ca2417a0420928492.php line 39: Undefined variable: charities (View: C:\wamp64\www\EasyDonationNew\laravel\resources\views\charities.blade.php)

我错过了什么??

尝试将变量 $charities 全局初始化为空字符串或 null。

在全局范围内,只有定义了 var 才能看到它。

你可以试试这个

return view('charities')->with('charities', $charities);

现在可以通过添加:

@if(isset($ownedCharities))

foreach 循环之前。