我很困惑,我试图找出错误的但我找不到它..
我的迁移文件:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateClientProjectTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('client_project', function(Blueprint $table)
{
$table->increments('id');
$table->integer('client_id');
$table->integer('project_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('client_project');
}
}
首先,我检查表是否已创建,它是。
然后,致电route
的{{1}}就是:(以controller
为前缀)
admin
这些功能如下所示:
Route::post('projectsclients/postUpload', ['uses' => 'AdminController@storeProjectsClients', 'as' => 'admin.projectsclients.store']);
错误:
找不到基表或视图:1146表&#39; web.client__projects&#39; 不存在
问题是我的表格是$client_project = new Client_Project();
$client_project->client_id = DB::table('clients')->orderby('id','DESC')->take(1)->get();
$client_project->project_id = DB::table('projects')->orderby('id','DESC')->take(1)->get();
$client_project->save();
而不是client_project
。
我必须解决这个问题?
非常感谢,任何帮助都将不胜感激。
答案 0 :(得分:2)
您不应该使用_
分隔类名。它应该命名为ClientProject
。通常,如果表格有问题,您可以编辑模态并添加
ClientProject.php
public $table = 'client_project';
答案 1 :(得分:2)
您没有遵循Laravel命名约定。要解决此特定问题,您可以明确定义tabe名称。在class Client_Projects
定义中添加以下内容:
protected $table = 'client_project';
但是要了解命名约定,我建议在此处阅读相关部分https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions