首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过Laravel表Type_Vehicle、Mark、Model表中的雄辩关系进行连接

如何通过Laravel表Type_Vehicle、Mark、Model表中的雄辩关系进行连接
EN

Stack Overflow用户
提问于 2019-03-15 06:06:18
回答 1查看 54关注 0票数 0

我需要做3个下拉列表。当选择Vehicle_Type时,只有汽车会得到它。当选择Vehicle_type = Car时,将选择标记,例如奥迪、宝马、梅赛德斯。选择标记时,将选择车型,但车型必须是,例如,如果我选择奥迪以获得A3、A4、A5。如果用户选择宝马,则将其作为模型X5、X6等。请看我下面的表格。问题:我需要连接模型并获取查询吗?还有一个不应该在这些表中提及的汽车表,至少我认为是这样的。

Vehicle_type或car_type表:

代码语言:javascript
复制
    Schema::create('car_types', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->timestamps();
    });

标记表格:

代码语言:javascript
复制
    Schema::create('marks', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->integer('car_type_id');
        $table->timestamps();
    });

car_models表:

代码语言:javascript
复制
    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型号:

代码语言:javascript
复制
class Car_type extends Model
{
   ??????
}

标记模型:

代码语言:javascript
复制
class Mark extends Model
{
  ??????
}

CarModel型号:

代码语言:javascript
复制
class CarModel extends Model
{
    ??????
}
EN

回答 1

Stack Overflow用户

发布于 2019-03-15 07:15:37

您的car_models表中可能不需要car_type_id:

代码语言:javascript
复制
Schema::create('car_models', function (Blueprint $table) {
    $table->increments('id');
    $table->string('name');
    $table->integer('mark_id');
    $table->timestamps();
});

应该足够了。

Car_type型号:

代码语言:javascript
复制
class Car_type extends Model
{
    public function marks() {
        return $this->hasMany(Mark::class);
    }
}

标记模型:

代码语言:javascript
复制
class Mark extends Model
{
    public function car_type() {
        return $this->belongsTo(Car_type::class);
    }
    public function models() {
        return $this->hasMany(CarModel::class);
    }
}

CarModel型号:

代码语言:javascript
复制
class CarModel extends Model
{
    public function mark()
    {
        return $this->belongsTo(Mark::class);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55172714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档