我需要做3个下拉列表。当选择Vehicle_Type时,只有汽车会得到它。当选择Vehicle_type = Car时,将选择标记,例如奥迪、宝马、梅赛德斯。选择标记时,将选择车型,但车型必须是,例如,如果我选择奥迪以获得A3、A4、A5。如果用户选择宝马,则将其作为模型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
{
??????
}
发布于 2019-03-15 07:15:37
您的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);
}
}
https://stackoverflow.com/questions/55172714
复制相似问题