如何在 Laravel 中使非数据库模型具有两个属性
Posted
技术标签:
【中文标题】如何在 Laravel 中使非数据库模型具有两个属性【英文标题】:How to make none-database model two attributes in Laravel 【发布时间】:2019-04-09 18:11:08 【问题描述】:我是 Laravel 的新手。请指导我。
端口是模型,坐标是无数据库模型。端口模型中有 2 个浮点数 (lat and long
)。当从数据库中加载一个 Port 时,这 2 个浮点数被转换为一个 Coordinates 对象。
我的第一个问题是,如何制作具有两个属性的非数据库模型?
我的第二个问题是,如何在 Port Model with Coordinates 对象中制作 2 个浮点数?
这是我的代码坐标模型非数据库模型,具有两个属性
class Coordinates extends Model
//Add attribute
protected $attributes = ['latitude', 'longitude'];
这里是端口模型
class Port extends Contracts\AppModel
protected $coordinates = Coordinates::class;
protected $fillable=[
'un_latitude',
'un_longitude',
];
function __construct(array $attributes = array())
$this->coordinates = Coordinates::class;
$this->coordinates->latitude = $attributes["un_latitude"];
$this->coordinates->longitude = $attributes["un_longitude"];
【问题讨论】:
请用点和逗号重写您的问题。很难读懂你的问题。 我已经完成了,请解释一下。 @Ruub 【参考方案1】:据我所知,每个 Eloquent 模型都应该链接到数据库中的一个表。只需将latitude
和longitude
添加为migration 中的列即可创建port
表。
【讨论】:
以上是关于如何在 Laravel 中使非数据库模型具有两个属性的主要内容,如果未能解决你的问题,请参考以下文章