如何根据所选字段获取结果。如果选择car_type来获取汽车,如果选择audi来仅获取audi的模型。示例用户选择car_type Car,得到Marks,用户选择Mark Audi得到A1,A2。用户选择宝马得到了X6,X5。
我连接所有只需要从数据库接收数据。看我的代码。
Car_type表:
$table->increments('id');
$table->string('name');
$table->timestamps();
标记表:
$table->increments('id');
$table->string('name');
$table->timestamps();
$table->integer('car_type_id');
型号表:
$table->increments('id');
$table->integer('mark_id');
$table->string('name');
$table->timestamps();
$table->integer('car_type_id');
Car_type型号:
public function marks(){
return $this->hasMany(Mark::class);
}
标记型号:
public function car_type(){
return $this->belongsTo(Car_type::class);
}
public function carmodels(){
return $this->hasMany(CarModel::class);
}
汽车型号:
public function mark(){
return $this->belongsTo(Mark::class);
}
现在我需要在控制器中获取数据。我尝试这个
$car_type = Car_type::where('id' , $id)->first();
return $car_type->marks()->get();
获取具有car_type模型1的id的标记,但这是错误的逻辑。
最佳答案
您只需直接将汽车标记直接进行一次查询即可,而不是2。
return Mark::where('car_type_id', $id)->get();