混淆 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_id
在 PhoneModel
Class.
PhoneModel
Class 应该有一个方法 getPhones()
应该 return 所有 PhonePhone
class 与 model_id
关联.
Phone
class应该有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)
}
}
我对为我的数据库模式创建 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_id
在 PhoneModel
Class.
PhoneModel
Class 应该有一个方法 getPhones()
应该 return 所有 PhonePhone
class 与 model_id
关联.
Phone
class应该有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)
}
}