登录

关于 Laravel ORM 中 hasOne 对象能否针对阵列

使用 hasOne 目标针对的是 db object(eloquent)

是否能将目标对象是数组呢?

或是有 package 能完成

以下将资料转成 json 来说明
举例:
{
"id": 1,
"name": "test",
"size_id": 10,
"size": {
"id": 10,
"size": "20",
"type_id": "10",
"type": {
"id": 10,
"name": "yes"
}

}
}

以上size 是在db 内的size table 所以我可以透过hasOne 去关联取出
但type 并非db table 的资料,因为他的值只会有两种yes | no 故我作了array 取得type name
我想要将type 的内容能够和relations 一样被使用
不知能否达成

# PHP
PHP中文网PHP中文网2090 天前492 次浏览

全部回复(2) 我要回复

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:58:17

    具体我是想要方便取得值而已
    我想要于 view 中直接透过
    $mode->size->type->name 取得
    而我目前的作法是
    大致是:
    $type = ['10' => 'yes' , '20' => 'no'];
    $type[$mode->size->type_id]
    这样的方式我觉的不好使

    回复
    0
  • 怪我咯

    怪我咯2017-05-16 16:58:17

    php$model->size->type = (object) array(
        'id' => 10,
        'name' => 'yes',
    );
    

    回复
    0
  • 取消回复发送