2015-12-24 6 views
0

Я только начал изучать laravel и застрял в процессе практически, и проблема в том, что я не могу получить переменную, которую я определил в своем контроллере.php в одном из моих представлений, пусть предположим (myview. blade.php).Cant acces my variable from Controller in View

Я искал через интернет, но не могу получить смелый ответ для решения.

Вот код:

controller.php

class WelcomeController extends Controller { 


    public function index() 
    { 
     return view('welcome'); 
    } 

    public function about() 
    { 
     $name = 'Farrukh'; 
     return view('about')->with(name,'$name'); 
    } 

} 

myview.blade.php

<html> 
<body> 
<div> 
    <h1>Hello {!! $name !!} !</h1> 
</div> 

</body> 
</html> 
+0

какой маршрут вы нажимаете и где вы возвращаете файл вида «myview»? – lagbox

+0

route :: get ('about', 'WelcomeController @ about'); –

+0

, так что «myview.blade.php» - это просто опечатка? – lagbox

ответ

3

Попробуйте проходит как return view('about')->with('name',$name);

+0

Yaa это сработало! Спасибо. В учебниках это было наоборот, но кто волнует –

+0

@MuhammadFarrukhFaizy, прокомментируйте учебник и/или подскажите автора. Это глупо, потому что больше людей застряли. – JimL

3

Вы можете использовать:

return view('about')->with('name', $name); 

или

return view('about')->with(compact('name')); 

или

return view('about')->with('name',"$name"); 

Если вы использовали:

'$name' 

PHP будет использовать его в буквальном смысле, так что присвоит $ name to 'name', но не значение переменной $ name