繁体   English   中英

与雄辩的关系混淆 | 简单的电话库存数据库

[英]Confused with Eloquent relationship | Simple Phone Inventory Database

我很困惑为我的数据库模式创建 Laravel 模型类。 如何建立关系?

表:

table_phone
    id
    imei
    model_id

table_model
    id
    name
    photo_id
    manufacturer_id

table_manufacturer
    id
    name
    photo_id

数据类:

class Phone extends Model {

    function model() {

    }

}

class PhoneModel extends Model {

    function getPhones() {

    }

    function manufacturer() {

    }

}

class PhoneManufacturer extends Model {

    function getPhones() {

    }

    function getModels() {

    }

Phone类有一个PhoneModel(one-to-one)

PhoneModel类具有一个PhoneManufacturer(one-to-one)

PhoneManufacturer类应该有一个方法getModels() ,它应该返回与manufacturer_id PhoneModel关联的所有PhoneModel类。

PhoneManufacturer类应该有一个方法getPhones()它应该返回所有Phone有关联的类别manufacturer_idPhoneModel类。

PhoneModel类应该有一个getPhones()方法,它应该返回与model_id关联的所有PhonePhone类。

Phone类应该有model方法和manufacturer方法。 PhoneModel类应该有manufacturer方法。

您必须以这种方式创建关系:

class Phone extends Model {
    public function phonemodel()
    {
        return $this->hasOne(PhoneModel::class)
    }
}

class PhoneModel extends Model {
    public function phone()
    {
        return $this->belongsTo(Phone::class)
    }

    public function manufacturer()
    {
        return $this->belongsTo(Manufacturer::class)
    }
}

class Manufacturer extends Model {
    public function model()
    {
        return $this->hasMany(PhoneModel::class)
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM