2016-10-08 2 views
0

Я получаю неопределенную ошибку переменной, даже если передал переменную через контроллер с помощью compact(), и даже попытался передать переменную на вид лезвия, как так return view('address/create', ['addresses' => $addresses]);Laravel ErrorException & Undefined переменная, даже если переменная определена и имеет значение

Маршрут:

Route::get('/addresses/create', function() { 
    return view('address/create'); 
})->middleware(\App\Http\Middleware\CheckSuperUser::class); 

контроллер функции:

public function create() 
    { 
     $addresses = Address::all(); 
     return view('address/create', compact('addresses')); 
    } 

Vie ж код (адрес/создать): сообщение

<div class="col-md-4"> 
     <legend>Available Addresses</legend> 
     @foreach($addresses as $address) 
      {{ $address }} 
     @endforeach 
</div> 

Ошибка:

ErrorException in 656cf590f275580a61ff680434f2a7bc0399cbdb.php line 51: 
Undefined variable: addresses (View: C:\Users\xxx\xxx\xxx\dorf\resources\views\address\create.blade.php) 

Я попытался очистить кэш и взгляды, но это не помогло вообще. Перезагрузили сервер и компьютер, а также ту же ошибку. Какие-нибудь идеи, что может произойти?

+0

Ваш «контроллер» не вызывается. 'Function() {...}' - ваш контроллер. – tkausl

+0

Можете ли вы добавить код вида – Komal

+0

@ Komal добавлен код просмотра. Это просто простой цикл foreach. – qasimalbaqali

ответ

1

@qasimalbaqali Вы даете неправильный путь Вы должны использовать как этот

Route::get('/addresses/create','[email protected]')->middleware(\App\Http\Middleware\CheckSuperUser::class); 

Заменить ControllerName с Controller.

Надеюсь, это поможет вам.

0

Попробуйте пройти этот путь

return view('address/create')->with('addresses', $addresses); 

Обновлено

@foreach($addresses as $address) 
    {{ $address->address }} 
@endforeach 
+0

Получение той же ошибки. – qasimalbaqali

+0

Попробуйте это @foreach ($ address as $ address) {{$ address-> address}} @endforeach – Komal