Intereting Posts
Какая версия PHP считается «стандартной» для большинства веб-хостов? Удаление всех файлов из папки с помощью PHP? MySQL: добавить столбец последовательностей на основе другого поля Альтернатива php's explode / implode-functions в c # Установка php_apc.dll на wampserver Будет ли включать ненужные php-файлы в замедление веб-сайта? Только один (первый) переключатель в группе выбирается / активен PHP Подсчитайте раунд тысяч до уровня стиля K, как facebook Share. , , Кнопка кнопки Twitter как вычесть две даты и время, чтобы получить разницу Различные стили CSS для последнего элемента php-массива Pt.2 Пользовательский модуль Magento, Неустранимая ошибка: вызов функции-члена setFormAction () Как предотвратить превышение max_user_connections при повторной загрузке / обновлении страницы несколько раз? Контактная форма отправляет почту с пустым полем сообщения Работа с преобразованиями PHP Octals и String как переместить текущую запись в другую таблицу и удалить текущую запись

Передача данных с контроллера для просмотра в Laravel

Привет, ребята, я новичок в laravel, и я пытаюсь сохранить все записи таблицы 'student' переменной, а затем передать эту переменную в представление, чтобы я мог их отображать.

У меня есть контроллер – ProfileController и внутри, что функция:

public function showstudents() { $students = DB::table('student')->get(); return View::make("user/regprofile")->with('students',$students); } 

На мой взгляд, у меня есть этот код

  <html> <head></head> <body> Hi {{Auth::user()->fullname}} @foreach ($students as $student) {{$student->name}} @endforeach @stop </body> </html> -  <html> <head></head> <body> Hi {{Auth::user()->fullname}} @foreach ($students as $student) {{$student->name}} @endforeach @stop </body> </html> 

Я получаю эту ошибку: Неопределенная переменная: students (View: regprofile.blade.php)

Можете ли вы дать это попробовать,

 return View::make("user/regprofile", compact('students')); OR return View::make("user/regprofile")->with(array('students'=>$students)); 

В то время как вы можете установить несколько переменных примерно так,

 $instructors=""; $instituitions=""; $compactData=array('students', 'instructors', 'instituitions'); $data=array('students'=>$students, 'instructors'=>$instructors, 'instituitions'=>$instituitions); return View::make("user/regprofile", compact($compactData)); return View::make("user/regprofile")->with($data); 

Для передачи одной переменной для просмотра.

Внутри вашего контроллера создайте такой метод, как:

 function sleep() { return view('welcome')->with('title','My App'); } 

В вашем маршруте

 Route::get('/sleep', 'TestController@sleep'); 

В вашем представлении Welcome.blade.php . Вы можете повторить свою переменную, например {{ $title }}

Для параметра Array (несколько значений) измените метод спящего режима на:

 function sleep() { $data = array( 'title'=>'My App', 'Description'=>'This is New Application', 'author'=>'foo' ); return view('welcome')->with($data); } 

Вы можете получить доступ к переменной как {{ $author }} .

Попробуйте с помощью этого кода:

 return View::make('user/regprofile', array ( 'students' => $students ) ); 

Или если вы хотите передать больше переменных:

 return View::make('user/regprofile', array ( 'students' => $students, 'variable_1' => $variable_1, 'variable_2' => $variable_2 ) ); 

Я думаю, что передавать данные с контроллера на просмотр плохо. Потому что он не может использоваться повторно и сделать контроллер более толстым. Вид должен быть разделен на 2 части: шаблон и помощник (который может получать данные из любого места). Вы можете искать композитор в laravel для получения дополнительной информации.