下拉列表的基本表

时间:2018-07-17 08:12:54

标签: laravel laravel-5

我想创建一个从数据库加载数据的下拉菜单。我想从ID表中创建键和数据为BookNamebooks的下拉列表。我遵循了https://www.youtube.com/watch?v=G_cMkETK330

中的教程

我遵循的步骤。

//created model
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class AppDropdown extends Model
{
    protected $table = 'books';
}

然后创建了提供程序

//created provider
<?php
namespace App\Providers;
use App\AppDropdown; // write model name here 
use Illuminate\Support\ServiceProvider;

class DynamicDDServiceProvider extends ServiceProvider
{
    public function boot()
    {
        view()->composer('*',function($view){
            $view->with('arrayname', AppDropdown::all());
        });
    }

}

然后将提供者在config/app.php中注册为App\Providers\DynamicDDServiceProvider::class

现在在我的查看页面中,

<select name="sel_bookID" id="sel_bookID" >
                                    @foreach ($arrayname as $data)                                       
                                        <option value="{{ $data->id }}">{{ $data->BookID }}</option>                                                      
                                    @endforeach
 </select>

但是我收到错误消息:::

 Illuminate \ Database \ QueryException (42S02)
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lsapp.app_dropdowns' doesn't exist (SQL: select * from `app_dropdowns`)

SQL查询如何将app_dropdowns创建为表?在模型中,我已将表名称提到为books

1 个答案:

答案 0 :(得分:0)

您无需创建提供程序,只需创建一个名为“ Book.php”的模型,然后使用类似于Book :: all();的模型来获取控制器中的所有数据;并将其传递给视图。现在视图中用于循环并显示数据

在控制器中

use App\Book; //import model 
 $books  = Book::all(); 
 return view('viewName',compact('books')); //compact method is used to 
                                            pass data in view.

在查看文件中

<select class="form-control" id="select">
        @foreach($books as $book)
        <option>{{$book->id}}</option>
        @endforeach
</select>
相关问题