Laravel基表或视图没有找到
我很困惑,我试图找到什么是错的,但我并不觉得..Laravel基表或视图没有找到
我的迁移文件:
<?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');
}
}
第一所有,我检查表创建,它是。
那么,是谁来电来controller
的route
是这样的:(由admin
前缀)
Route::post('projectsclients/postUpload', ['uses' => '[email protected]', 'as' => 'admin.projectsclients.store']);
的功能看起来像在这里:
$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();
和错误:
Base table or view not found: 1146 Table 'web.client__projects' doesn't exist
问题是我的表是client_project
不是client__projects
。
我在哪里解决这个问题?
非常感谢,任何帮助将不胜感激。
你不应该把类名分解为_
。它应该被命名为ClientProject
。通常,如果有一个与表有关的问题,你可以编辑模式,并添加一个
ClientProject.php
public $table = 'client_project';
它的工作原理,让我问你一些问题。为什么现在我得到:'一般错误:1366错误的整数值:'[{“id”:40,“name”:“hola”,“slug”:“hola”,“priority”:0,“created_at”:“ 2017-08-03 10:47:31“,”updated_at“:”2017-08-03 10:47:31“}]'列'client_id'在第1行(SQL:插入到'client_project'('client_id ','' –
不知道@LluísPuigFerrer最好关闭发布另一个问题,以保持独立。我会假设你的插入查询client_id设置为null,但需要一个整数? – Ian
你没有关注Laravel命名约定。为了解决这个问题,你可以明确地定义tabe名字。在class Client_Projects
定义补充一点:
protected $table = 'client_project';
但要了解命名约定,我建议阅读相关章节的文档这里https://laravel.com/docs/5.4/eloquent#eloquent-model-conventions
这是,我忘记了;)感谢队友,让我问你一些事情,为什么得到这个错误:'一般错误:1366错误的整数值:'[{“id”:40,“name”:“hola”,“slug”:“hola”,“priority” “created_at”:“2017-08-03 10:47:31”,“updated_at”:“2017-08-03 10:47:31”}]'在列1处的列'client_id'(SQL:insert into' client_project'('client_id',' –
)你应该更新你的迁移并且在你的整数列中加上' - > unsigned()' –
如果你foll按照他们的命名惯例,你不需要记住每次定义表名,而且你的生活变得更加简单:) – Nima
请检查您的Client_Project模型在表名是对还是错 –
或显示Client_Project模型 –
如果我的答案是您的解决方案,那么我将添加此解决方案作为答案并接受我的答案 –