Laravel Version 6. PHP 7.4.
I simply wants to populate my dropdown values form database table. Initially, It was returning error “variable undefined” but when I enclosed my code into if condition, my error was gone but drop-down list is empty.
Please suggest where I’ m stuck.
Route.php
JavaScript
x
Route::get('products/qrcodes/basic','niceActionController@getMake');
Controller
JavaScript
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppNiceAction;
use AppNiceActionLogged;
public function getMake()
{
$records = DB::table('users')->get();
return view('products.qrcodes.basic', ['records' => $records]);
}
View
JavaScript
<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>
I also tried “dd($records);” but nothing happens.
Advertisement
Answer
First Make sure that your table have data. And then change your controller and view like this.
Controller Code
JavaScript
<?php
namespace AppHttpControllers;
use DB;
use IlluminateHttpRequest;
use AppNiceAction;
use AppNiceActionLogged;
public function getMake() {
$records = DB::table('users')->get()->toArray();
return view('products.qrcodes.basic', compact('records'));
}
View Code:
JavaScript
<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>
I hope it will help you 🙂