Fractal returns null to object inside object

I'm using fractal transformation. my User table has a column named avatar which is array of arrays like that {"thumbnail":{"url":"\/storage\/images\/user\/...

I'm using fractal transformation. my User table has a column named avatar which is array of arrays
like that

{"thumbnail":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/50x50_crop\/ZdkTk1UGyQAS60C4.png","height":50,"width":50},"xsmall":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/160x120\/ZdkTk1UGyQAS60C4.png","height":120,"width":82},"small":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/240x180\/ZdkTk1UGyQAS60C4.png","height":180,"width":124},"profile":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/300x300_crop\/ZdkTk1UGyQAS60C4.png","height":271,"width":186},"medium":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/640x480\/ZdkTk1UGyQAS60C4.png","height":271,"width":186},"large":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/800x600\/ZdkTk1UGyQAS60C4.png","height":271,"width":186},"original":{"url":"\/storage\/images\/user\/2019\/10\/03\/54\/53\/ZdkTk1UGyQAS60C4.png","height":null,"width":null}}

when I transofrme User object it returns null

{
"status": "success",
"code": 200,
"data": {
"user": {
"name": "emanfateen",
"email": "emanfateen@gmail.com",
"phone": "01111766327",
"img": null,
"avatar": {
"thumbnail": null,
"xsmall": {},
"small": {},
"profile": {},
"medium": {},
"large": {},
"original": {}
},
"activePoints": 0,
"tempPoints": 0,
"usedPoints": 0,
"donatedPoints": 0,
"ordersCount": 0,
"addresses": {
"data": [
{
"id": 31,
"address": "nasrcity,Cairo",
"cityId": 2,
"areaId": 1,
"zoneId": 1,
"remark": "yes",
"buildingNo": "3",
"floorNo": "4",
"flatNo": "2",
"city": {
"id": 2,
"name": "City 2"
},
"area": {
"id": 1,
"name": "Area 1 - 1"
},
"zone": {
"id": 1,
"name": "Zone 1 - 1 - 1"
}
}
]
}
}
}
}

my tranformation code is

public function transform(User $user)
{
return [
'name' => (string)$user->name,
'email' => (string)$user->email,
'phone' => (string)$user->phone,
'img' =>$user['avatar']->thumbnail->url,
'avatar' => [
'thumbnail' => $user->avatar->thumbnail->url,
'xsmall' => url($user->avatar->xsmall->url),
'small' => url($user->avatar->small->url),
'profile' => url($user->avatar->profile->url),
'medium' => url($user->avatar->medium->url),
'large' => url($user->avatar->large->url),
'original' => url($user->avatar->original->url),
],
'activePoints' => (integer)$user->activePoints,
'tempPoints' => (integer)$user->tempPoints,
'usedPoints' => (integer)$user->usedPoints,
'donatedPoints' => (integer)$user->donatedPoints,
'ordersCount' => (integer)$user->orders_count,
];
}


however without tranformation here is the result


{
"status": "success",
"code": 200,
"data": {
"user": {
"id": 36,
"name": "emanfateen",
"email": "emanfateen@gmail.com",
"phone": "01111766327",
"provider": 1,
"avatar": {
"thumbnail": {
"url": "/storage/images/user/2019/10/09/03/28/50x50_crop/Z2ecpS7BmRJsFVSc.png",
"height": 50,
"width": 50
},
"xsmall": {
"url": "/storage/images/user/2019/10/09/03/28/160x120/Z2ecpS7BmRJsFVSc.png",
"height": 120,
"width": 120
},
"small": {
"url": "/storage/images/user/2019/10/09/03/28/240x180/Z2ecpS7BmRJsFVSc.png",
"height": 180,
"width": 180
},
"profile": {
"url": "/storage/images/user/2019/10/09/03/28/300x300_crop/Z2ecpS7BmRJsFVSc.png",
"height": 240,
"width": 240
},
"medium": {
"url": "/storage/images/user/2019/10/09/03/28/640x480/Z2ecpS7BmRJsFVSc.png",
"height": 240,
"width": 240
},
"large": {
"url": "/storage/images/user/2019/10/09/03/28/800x600/Z2ecpS7BmRJsFVSc.png",
"height": 240,
"width": 240
},
"original": {
"url": "/storage/images/user/2019/10/09/03/28/Z2ecpS7BmRJsFVSc.png",
"height": null,
"width": null
}
},
"activePoints": 0,
"tempPoints": 0,
"usedPoints": 0,
"donatedPoints": 0,
"type": 1,
"email_verified_at": null,
"created_at": null,
"updated_at": null,
"orders_count": 0,
"addresses": [
{
"id": 31,
"address": "nasrcity,Cairo",
"cityId": 2,
"areaId": 1,
"zoneId": 1,
"remark": "yes",
"buildingNo": "3",
"floorNo": "4",
"flatNo": "2",
"userId": 36,
"city": {
"id": 2,
"arName": "مدينة 2",
"enName": "City 2",
"active": 1
},
"area": {
"id": 1,
"arName": "منطقة 1 - 1",
"enName": "Area 1 - 1",
"cityId": 1,
"active": 1
},
"zone": {
"id": 1,
"arName": "حى 1 - 1 - 1",
"enName": "Zone 1 - 1 - 1",
"areaId": 1,
"active": 1
}
}
]
}
}
}

how can I solve this problem ?


0 التعليقات


    لا يوجد تعليقات حتي الان

اضف تعليق


يجب ان يكون لديك حساب في الموقع تسجيل الدخول او تسجيل عضوية جديدة

خدمات ويب الفريق