laravel получение неопределенной переменной при переходе к контроллеру? - PullRequest
0 голосов
/ 16 июня 2020

Надеюсь, все в порядке.

Я получаю

<?php

use Illuminate\Support\Facades\Route;

$results = DB::table('Fayrozat')
    ->select('Name', 'Url')
    ->get();

Route::get('/', function () {
    return view('welcome',compact('results','results'));
});

compact (): неопределенная переменная: результаты

По какой-то причине?

Ответы [ 3 ]

2 голосов
/ 16 июня 2020

Нужно использовать вот так

use Illuminate\Support\Facades\Route;

$results = DB::table('Fayrozat')
    ->select('Name', 'Url')
    ->get();

Route::get('/', function () use ($results) {
    return view('welcome', compact('results'));
});

или

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    $results = DB::table('Fayrozat')
        ->select('Name', 'Url')
        ->get();

    return view('welcome', compact('results'));
});
2 голосов
/ 16 июня 2020

Просто назначьте переменную результата в свой маршрут .. и когда вы передадите переменную с вашим желаемым именем

return view('welcome')->with('your_desire',$result);
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    $results = DB::table('Fayrozat')
        ->select('Name', 'Url')
        ->get();

    return view('welcome', compact('results')); //or return view('welcome')->with('your_desire',$result);
});
1 голос
/ 16 июня 2020

В области действия этой анонимной функции нет переменной с именем results. Вам нужно указать функции использовать переменную из родительской области, которая PHP имеет синтаксис с ключевым словом use:

function (...) use (...) {
}

Хотя вы не хотите запускать этот запрос в таком файле маршрутов, поэтому, вероятно, этого вообще не должно происходить. Просто сделайте этот запрос в обработчике маршрута:

Route::get(..., function (...) {
    return view(..., ['results' => DB::...]);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...