как я могу отобразить данные из базы данных в шаблон sb-admin?

#php #laravel

#php #laravel

Вопрос:

Я новичок в laravel и шаблоне sb-admin. Я надеюсь, что кто-нибудь сможет помочь мне с моей проблемой. Я хочу отобразить в теге select данные из моей таблицы базы данных, но он показывает только эту ошибку

Исключение ошибки (E_ERROR) Неопределенная переменная: kras (Вид: C:UsersICTOfficeDesktopsbmMearesourcesviewsadminAIPcreate.blade.php )

это мой код модели Kra

 namespace App;

use IlluminateDatabaseEloquentModel;

class Kra extends Model
{
    protected $fillable =['id',`KRADetail`];


}
  

Krascontroller содержит,

   public function index()
    {
        $kras=Kras::all();
        return view('admin.AIPcreate',compact('kras'));
    }
  

в моем блейд-файле я использую этот код для отображения данных
AIPcreate.blade.php

 <th colspan="6">Key Result Areas: <select class="btn btn-block btn-default">
                <option class="dropdown-header">Select Key Result Area</option>
                  @foreach($kras as $kras)
                  <option value="{{$kras->id}}">{{$kras->KRADetail}}</option>
                  @endforeach
              </select></th>
  

и мой маршрут выглядел так,

 Route::get('/admin/{demopage?}', 'DemoController@demo')->name('demo');
route::resource('Kras','KrasController');
  

Я немного запутался, что использовать при вызове блейд-файла, поскольку он уже объявлен в demopage. вот почему я добавил маршрут для Kras, в котором я не совсем уверен. пожалуйста, помогите, и заранее благодарю вас

Ответ №1:

Попробуйте это

 public function index()
{
   $kras=Kra::all();
   return view('admin.AIPcreate',compact('kras'));
}
  

Ответ №2:

попробуйте отправить данные, как показано ниже:

 public function index()
{
    $kras=Kras::all();
    return view('admin.AIPcreate',['kras'=>$kras]);
}
  

и в цикле foreach :

 @foreach($kras as $kra)
   <option value="{{$kra->id}}">{{$kra->KRADetail}}</option>
  

@endforeach

Комментарии:

1. это не работает. Я пробовал этот код, но получаю это Исключение ErrorException (E_ERROR) Неопределенная переменная: kras (Вид: C:UsersICTOfficeDesktopsbmMearesourcesviewsadminAIPcreate.blade.php)

Ответ №3:

Попробуйте с этим

Приложение пространства имен кода модели Kra;

используйте Illuminate Database Eloquent Model;

 class Kra extends Model
{
    protected $fillable =['id',`KRADetail`];
    protected $table = 'table_name;

}
  

Krascontroller

 public function index()
{
   $kras=Kra::all();
   return view('admin.AIPcreate',compact('kras'));
}
  

admin/AIPcreate.blade.php

 <th colspan="6">  Key Result Areas: 
    <select class="btn btn-block btn-default">
            <option class="dropdown-header">Select Key Result Area</option>
            @foreach($kras as $kra)
                <option value="{{$kra->id}}">{{$kra->KRADetail}}</option>
            @endforeach
    </select>
</th>
  

Поскольку оба ваших имени переменных одинаковы, поэтому он рассматривает их как несколько значений.

Здесь вы ошибочно принимаете Kras вместо Kra . Проверьте имя класса вашей модели.

Комментарии:

1. спасибо за ответ. однако у меня все та же ошибка.

2. Исключение ошибки (E_ERROR) Неопределенная переменная: kra (Вид: C:UsersICTOfficeDesktopsbmMearesourcesviewsadminAIPcreate.blade.php )

3. dd в вашем index методе проверьте, получаете вы коллекцию или нет

4. Я не получаю никаких коллекций. Исключение ошибки (E_ERROR) Неопределенная переменная: kras (Вид: C:UsersICTOfficeDesktopsbmMearesourcesviewsadminAIPcreate.blade.php)

5. public function index() { $kras=Kras::all();dd($kras); return view('admin.AIPcreate',compact('kras')); } попробуйте это