如何根据所选字段获取结果。如果选择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();

10-07 13:58
查看更多