我确实使用此迁移文件从laravel迁移
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class MsCustomer extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('mscustomer', function(Blueprint $table)
{
$table->increments("custid");
$table->string("custname");
$table->string("password");
$table->string("email")->unique();
$table->integer("balance");
$table->string("role");
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('mscustomer');
}
}
然后它成功了,一张名为&#39; mscustomer&#39;的桌子。是在我的数据库中制作的,然后我尝试通过调用mscustomer.php的模型来使用php artisan tinker,它包含
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
class mscustomer extends Model {
}
然后我收到此错误 &#34; Illuminate \ Database \ QueryException,带有消息&#39; SQLSTATE [42S02]:未找到基表或视图:1146表&#39; twk.mscustomers&#39;不存在......&#34;
我能理解的是,我明确地创造了一个客户,但为什么它会寻找&#34; twk.mscustomers&#34; (&#39; s&#39;)落后,而不是twk.mscustomer。在这种情况下,我有什么错误吗?
请帮帮我。
注意:对于问题的不良风格感到抱歉,这是我第一次在这里提问。
答案 0 :(得分:1)
这就是Laravel的工作方式。 Eloquent将假定模型类名的复数作为表名。您可以通过添加属性来覆盖此行为:
class mscustomer extends Model {
protected $table = 'mscustomer';
}
除此之外,使用以大写字母开头的类名也很标准。在您的情况下Mscustomer
(或MsCustomer
}代替mscustomer