下拉列表正在填充 laravel 6 中的空列表

dropdown is populating empty list in laravel 6

Laravel 版本 6。PHP 7.4.

我只想从数据库 table 填充我的下拉值。最初,它返回错误 "variable undefined" 但是当我将我的代码包含在 if 条件中时,我的错误消失了但是下拉列表是空的。

请指出我卡在哪里。

Route.php

Route::get('products/qrcodes/basic','niceActionController@getMake');

控制器

<?php

namespace App\Http\Controllers;
use \Illuminate\Http\Request;
use App\NiceAction;
use App\NiceActionLogged;

public function getMake()
{
$records = DB::table('users')->get();
return view('products.qrcodes.basic', ['records' => $records]);
}

查看

<form>
   <select  required>
     @if ((empty($records)))
        Whoops! Something went wrong
     @else
     @foreach ($records as $item)
     <option value="{{ $item->id }}">{{ $item->name }}</option>
     @endforeach
     @endif
   </select>
</form>

我也试过"dd($records);"但是没有任何反应。

首先确保你的table有数据。 然后更改您的控制器并像这样查看。

控制器代码

<?php

   namespace App\Http\Controllers;

   use DB;
   use \Illuminate\Http\Request;
   use App\NiceAction;
   use App\NiceActionLogged;

   public function getMake() {
       $records = DB::table('users')->get()->toArray();
       return view('products.qrcodes.basic', compact('records'));
   }

查看代码:

<form>
    <select required>
        @if(empty($records))
            Whoops! Something went wrong
        @else
            @foreach ($records as $key => $item)
                <option value="{{ $item['id'] }}">{{ $item['name'] }}</option>
            @endforeach
        @endif
    </select>
</form>

希望对你有所帮助:)

我很高兴地宣布@Khalid Khan 帮助我解决了我的问题。他确定的是我错误地定义了两条相同的路线。将我的最新路线粘贴到上一条路线上方后,我的代码有效。

上一条路线:

    Route::get('products/qrcodes/{firstQR}

最新路线:

    Route::get('products/qrcodes/basic','niceActionController@getMake');