我需要做3个下拉菜单。选择Vehicle_Type时,只有Car会获得它。当选择Vehicle_type = Car时,选择Mark作为例如Audi,Bmw,Mercedes。选择标记时,会选择模型,但模型必须是,例如,如果我选择奥迪获得A3,A4,A5。如果用户选择BMW,则将其作为型号X5,X6等。看看下面的表格。问题我需要连接模型并获取查询?至少我认为,这些表中也不应该提到一张车牌表。
Vehicle_type或car_type表:
Schema::create('car_types', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
标记表:
Schema::create('marks', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('car_type_id');
$table->timestamps();
});
car_models表:
Schema::create('car_models', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('car_type_id');
$table->integer('mark_id');
$table->timestamps();
});
Car_type型号:
class Car_type extends Model
{
??????
}
标记模型:
class Mark extends Model
{
??????
}
CarModel型号:
class CarModel extends Model
{
??????
}
您可能不需要car_models表上的car_type_id:
Schema::create('car_models', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('mark_id');
$table->timestamps();
});
应该足够了。
Car_type型号:
class Car_type extends Model
{
public function marks() {
return $this->hasMany(Mark::class);
}
}
标记模型:
class Mark extends Model
{
public function car_type() {
return $this->belongsTo(Car_type::class);
}
public function models() {
return $this->hasMany(CarModel::class);
}
}
CarModel型号:
class CarModel extends Model
{
public function mark()
{
return $this->belongsTo(Mark::class);
}
}