混淆 Eloquent 关系 |简单 Phone 库存数据库

Confused with Eloquent relationship | Simple Phone Inventory Database

我对为我的数据库模式创建 Laravel 模型 class 感到困惑。如何建立关系?

表格:

table_phone
    id
    imei
    model_id

table_model
    id
    name
    photo_id
    manufacturer_id

table_manufacturer
    id
    name
    photo_id

数据 Classes:

class Phone extends Model {

    function model() {

    }

}

class PhoneModel extends Model {

    function getPhones() {

    }

    function manufacturer() {

    }

}

class PhoneManufacturer extends Model {

    function getPhones() {

    }

    function getModels() {

    }

Phone class 有一个 PhoneModel Class (one-to-one).

PhoneModel class 有一个 PhoneManufacturer Class (one-to-one).

PhoneManufacturer class 应该有一个方法 getModels(),它应该 return 所有 PhoneModel class 与 manufacturer_id.

PhoneManufacturer class 应该有一个方法 getPhones(),它应该 return 所有 Phone class 与 manufacturer_idPhoneModel Class.

PhoneModel Class 应该有一个方法 getPhones() 应该 return 所有 PhonePhone class 与 model_id 关联.

Phoneclass应该有model方法和manufacturer方法。 PhoneModel class 应该有 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)
    }
}