테스트하지만, 작업을해야하지 :
Docs
Person.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Person extends Model {
// ...
}
Student.php
<?php
namespace App;
class Student extends Person {
$table = 'students';
// ...
}
Teacher.php
<?php
namespace App;
class Teacher extends Person {
$table = 'teachers';
// ...
}
마이그레이션
당신은 php artisan make:migration create_students_table --create=students
와 함께 평소와 같이 원하는 마이그레이션을 만들 수 있습니다. 그럼 난 배경을 모르는 php artisan migrate
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateStudentsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('students', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
// ...
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('students');
}
}
편집
로 마이그레이션하지만 어쩌면 특성은 더 나은 대안이다.
감사합니다. $ table 변수에 대해 알지 못해서 도움이되었습니다. 하지만이 모델의 마이그레이션 파일은 무엇입니까? 왜냐하면 내가 commande php artisan migrate를 실행할 때 테이블 교사와 학생은 어떤 열도 포함하지 않기 때문입니다! –
평소처럼 마이그레이션 파일을 정의해야합니다. * migration * edit –
을 확인하십시오. 마이그레이션 파일의 모든 열을 정의하려면 Person과 Student 간의 상속 목적은 무엇입니까? –