Неопределенный результат переменной при извлечении данных с использованием laravel - PullRequest
0 голосов
/ 14 мая 2019

Я новичок в Laravel 5 Теперь, что я здесь делаю? Просто я хочу получить данные из таблицы базы данных states, где country_id='101'. и примените цикл foreach в моем файле просмотра, но он показывает ошибку, т.е. undefined variable: result. Я не знаю, почему и где я делаю неправильно? Пожалуйста, помогите мне.

приложение / HTTP / контроллер / FirstController.php

<?php
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use DB;
    use App\Http\Requests;
    use App\Http\Controllers\Controller;

    class FirstController extends Controller
    {
        public function state()
        {
            $sql = DB::select('select * from states where country_id="101"');
            return view('index',['result'=>$sql]);
        }
    }

ресурсы / вид / index.blade.php

<select name="state" class="form-control" id="state">
    <option value="null">India:State</option>
    @foreach($result as $row)
        <option value="{{ $row->id }}">{{ $row->name }}</option>
    @endforeach
</select>

маршруты / web.php

<?php
    Route::get('/', function () {
        return view('index');
    });
    Route::get('index','FirstController@state');

1 Ответ

0 голосов
/ 14 мая 2019

На этом маршруте

Route::get('/', function () {
    return view('index');
});

Вы вызываете view index без какой-либо переменной result, которая выдает эту ошибку

Сначала вы решаете, что хотите, если нет result, затем делаете соответствующие действия, чтобы просто обработать ошибку, которую вы можете использовать $result ?? []

@foreach($result ?? [] as $row)

Если вы хотите вызвать один и тот же метод из двух разных URL / и /index, используйте следующий маршрут

Route::get('/','FirstController@state');
Route::get('index','FirstController@state');

Также измените ваш построитель запросов, чтобы он выглядел как более стиль laravel.

    public function state()
    {
        $sql = DB::table('states')->where('country_id',101)->get();
        return view('index',['result'=>$sql]);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...