我想要一个包含有关人员(姓名、电话、电子邮件)的信息的表,contacts
然后可以与其他几个表(、、、clients
)properties
相关联jobs
。但是,我不知道如何通过 Eloquent 来解决这个问题。我考虑在contacts
表中添加 2 个附加字段,anentity_id
和 anentity_type
来识别其他表中的关联记录,但我希望有一种更清洁、更 Laravel 的方式来完成此操作。
create_contacts_table.php
Schema::create('contacts', function (Blueprint $table) {
$table->id();
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('phone')->nullable();
$table->string('email')->nullable();
$table->timestamps();
});
create_clients_table.php
Schema::create('clients', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('address_1');
$table->string('address_2')->nullable();
$table->string('city')->nullable();
$table->string('state')->nullable();
$table->integer('zip_code')->nullable();
$table->timestamps();
});
create_properties_table.php
Schema::create('properties', function (Blueprint $table) {
$table->id();
$table->string('address_1');
$table->string('address_2')->nullable();
$table->string('city');
$table->string('state');
$table->integer('zip_code');
$table->timestamps();
});