【问题标题】:QueryException SQLSTATE[42S02]: Base table or view not found: 1146 TableQueryException SQLSTATE [42S02]:未找到基表或视图:1146 表
【发布时间】:2017-12-07 15:14:08
【问题描述】:

我第一次在 laravel 中学习外键 .. 当我将表单上的数据插入表时出现此消息错误。我觉得我的桌子很好。你能告诉我如何解决这个问题吗?

控制器:

public function tambah(Request $request){
    $a = new Admin;
    $this->validate($request, ['nama'=>'required|unique:ab']);
    $a->id = $request->id;
    $a->nama = $request->nama;
    $a->save();

    return redirect()->to('admin/data_desa')->with('success','Data berhasil ditambahkan');
}


}

表:

 class CreateDesasTable extends Migration
 {
/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    //
    Schema::dropIfExist('desas');
    Schema::create('desas', function(Blueprint $table){
    $table->increments('id');
    $table->string('nama');

});
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    //
    Schema::dropIfExist('desas');

}
}

路线:

Route::group(['middleware' => 'web'], function(){
Route::group(['prefix' => 'tanitani'], function(){
    Route::get('admin', 'AdminController@index');
    Route::get('admin/data_desa','AdminController@tampil');
    Route::post('admin/data_desa', 'AdminController@tambah');

【问题讨论】:

  • 请将实际错误添加到帖子中

标签: laravel eloquent laravel-5.4


【解决方案1】:

您必须覆盖 Admin 模型中的表名,因为您有不同的表名。

为什么?

因为按照惯例 Laravel 会假设表名是admins

所以将此行添加到您的模型中:

protected $table = 'desas';

【讨论】:

  • 我必须添加它。但不工作。我仍然有相同的消息错误@Maraboc
  • 你迁移数据库是为了建表吗?
  • 我不知道第一名的意思...是数据库中的关系表吗?对不起 :(( 我是 laravel 的新手。
【解决方案2】:

您似乎没有使用 laravel eloquent 模型约定。

您确定模型Admin 是您在控制器中保存desas 数据所需的模型吗?

如果答案是正确的,则更新模型管理员

protected $table = 'desas';

建议:尽量在模型和数据库表之间使用相同的命名约定。

更多信息请参见https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions

继续前推荐的文档:

【讨论】:

    【解决方案3】:

    我刚遇到这个问题,简单查看迁移文件,表名需要是复数 当我搜索时:

    App\post::all();
    Table 'laravel.posts' doesn't exist (SQL: select * * from `posts`)'
    

    所以改变重新创建它 make:migration create_posts_table 运行命令并迁移。那么:

    App\posts::all();
    

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2018-03-16
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2018-04-19
      相关资源
      最近更新 更多