Как вернуть данные таблицы из домашнего просмотра Laravel 5.7 - PullRequest
0 голосов
/ 29 ноября 2018

Я уверен, что это вопрос новичка, но сейчас я немного беспокою.

У меня есть таблица отзывов, и я пытаюсь вывести несколько отзывов на главной странице.

Это то, что я продолжаю.

Маршрут: (web.php)

Route::get('/', function () {
    return view('home');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');

Домашний контроллер:

use DB;
use App\Testimonial;
...
public function index()
{
    $testimonial = DB::table('testimonials')->orderBy('id', 'DESC')->get();
    return view('home', compact('testimonials'));
}

Home View / Blade:

@foreach ($testimonial as $test)
<h4>{{$test->first_name}}</h4>
<p>{{$test->testimonial}}</p>
@endforeach

Ошибка:

Неопределенная переменная: рекомендация

Любое понимание этого вопроса будет полезно.

Ответы [ 3 ]

0 голосов
/ 29 ноября 2018

Вы возвращаете неправильную переменную, измените свой возврат следующим образом:

return view('home', compact('testimonial'));

Тогда все в порядке.

0 голосов
/ 29 ноября 2018

Поскольку ваша переменная называется $testimonial, вы должны передать:

// singular testimonial
return view('home', compact('testimonial'));

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

@foreach ($testimonial as $test)
0 голосов
/ 29 ноября 2018

Маршрут для «/» идет прямо к «домашнему» виду без прохождения через контроллер.Изменение этого маршрута для перехода к тому же методу контроллера исправит это.

Route::get('/', 'HomeController@index');

Имена переменных также должны совпадать в контроллере и представлении.

Контроллер

use DB;
use App\Testimonial;
...
public function index()
{
    $testimonials = DB::table('testimonials')->orderBy('id', 'DESC')->get();
    return view('home', compact('testimonials'));
}

Просмотр

@foreach ($testimonials as $test)
    <h4>{{$test->first_name}}</h4>
    <p>{{$test->testimonial}}</p>
@endforeach

Это должно работать, если ваш запрос к базе данных фактически возвращает результаты.Если он все еще не работает, попробуйте проверить, что находится в переменной $ testimonials после того, как она назначена.

dd($testimonials);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...