我的表是INSTIT_school而不是institution_schools,Laravel在错误中报告了什么.
[Illuminate\Database\QueryException]
sqlSTATE[42S02]: Base table or view not found: 1146 Table 'eesdatabase.inst
itution_schools' doesn't exist (sql: insert into `institution_schools` (`sc
hool_id`,`instituion_id`,`energy_id`,`year`,`updated_at`,`created_at`)
values (38,1,2005,2014-07-04 19:38:41,2014-07-04 19:38:41))
我尝试删除数据库,然后再次迁移和播种.
我尝试用“PHP artisan:cache clear”重置Laravel缓存
有谁知道如何解决这一问题?
谢谢
PHP
class InstitutionSchool extends Eloquent {
protected $table = "institution_school";
protected $guarded = array('id');
public function school() {
return $this -> belongsTo('School');
}
public function institutio() {
return $this -> belongsTo('Institution');
}
public function energy() {
return $this -> belongsTo('Energy');
}
}
?>
PHP
class InstitutionSchoolTableSeeder extends DatabaseSeeder {
public function run() {
DB::table('institution_school') -> delete();
$faker = $this -> getFaker();
$schools = School::all();
$institutions = Institution::all();
$energies = Energy::all();
foreach ($schools as $school) {
for ($i = 0; $i < rand(1,5); $i++) {
$year = $faker -> randomNumber(2000,2015);
InstitutionSchool::create(array(
'school_id' => $school -> id,'instituion_id' => 1,'energy_id' => 1,'year' => $year));
}
}
}
}
?>
PHP
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateInstitutionSchoolTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('institution_school',function(Blueprint $table)
{
$table->increments('id');
$table->integer('institution_id')->unsigned();
$table->integer('school_id')->unsigned();
$table->string('year');
$table->string('other_source_name')->nullable();
$table->integer('energy_id')->unsigned()->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('institution_school',function(Blueprint $table)
{
Schema::drop('institution_school');
});
}
}
最佳答案
尝试在模型中明确定义表名.它可能会奏效.但它当然不是一个完整的解决方案,只是让它成功的黑客攻击:D
原文链接:https://www.f2er.com/mysql/433207.htmlprotected $table = "institution_school";