2017-12-18 23 views
3

API 응답을 만들면이 같은 변압기를 사용하여 응답을 반환합니다. 여기 피벗 필드에서 실제 테이블 Laravel로 값을 복사하는 방법

enter image description here

그리고

public function transform(DietPlan $dietPlan) 
    { 
      // $dietPlan->foods->diet_plan_id = $dietPlan->id; 

     return [ 
         'id'   => $dietPlan->id, 
         'bmi_status' => $dietPlan->bmi_status, 
         'eating_type' => $dietPlan->eating_type, 
         'eating_time' => $dietPlan->eating_time, 
         'disease'  => ($dietPlan->diseases_id == null) ? null : $dietPlan->diseases->name, 
         'blood_group' => ($dietPlan->blood_groups_id == null) ? null : $dietPlan->blood_group->name, 
         'age'   => $dietPlan->age, 
         'foods'  => $dietPlan->foods, 
         'created_at' => $dietPlan->created_at, 
         'updated_at' => $dietPlan->updated_at, 
     ]; 
    } 
는 API

enter image description here

{ 
"status": "0", 
"message": "success", 
"response": { 
    "headers": {}, 
    "original": { 
     "data": [ 
      { 
       "id": 35, 
       "bmi_status": "Normal Weight", 
       "eating_type": "Breakfast", 
       "eating_time": "02:55:00", 
       "disease": "Diabetes", 
       "blood_group": null, 
       "age": 20, 
       "foods": [ 
        { 
         "id": 2, 
         "food_name": "Potato", 
         "protein": "10", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "80", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 35, 
          "food_id": 2, 
          "quantity": "4" 
         } 
        }, 
        { 
         "id": 3, 
         "food_name": "Rise", 
         "protein": "40", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "100", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 35, 
          "food_id": 3, 
          "quantity": "4" 
         } 
        }, 
        { 
         "id": 4, 
         "food_name": "Salad", 
         "protein": "30", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "15", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-12-15 19:42:05", 
         "image": "http://bmiproject.app/images/foods/saladvuy8tb-4.jpg", 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 35, 
          "food_id": 4, 
          "quantity": "5" 
         } 
        }, 
        { 
         "id": 18, 
         "food_name": "Balabala", 
         "protein": "2", 
         "calories": null, 
         "fact": "Balabalba", 
         "carbohydrate": "1", 
         "unit_type": null, 
         "created_at": "2017-12-15 19:29:02", 
         "updated_at": "2017-12-15 19:29:02", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 35, 
          "food_id": 18, 
          "quantity": "7" 
         } 
        } 
       ], 
       "created_at": { 
        "date": "2017-12-16 06:54:11.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       }, 
       "updated_at": { 
        "date": "2017-12-16 06:54:11.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       } 
      }, 
      { 
       "id": 36, 
       "bmi_status": "Normal Weight", 
       "eating_type": "Lunch", 
       "eating_time": "02:55:00", 
       "disease": "Diabetes", 
       "blood_group": null, 
       "age": 20, 
       "foods": [ 
        { 
         "id": 1, 
         "food_name": "Meat", 
         "protein": "27", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "35", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 36, 
          "food_id": 1, 
          "quantity": "2" 
         } 
        }, 
        { 
         "id": 3, 
         "food_name": "Rise", 
         "protein": "40", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "100", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 36, 
          "food_id": 3, 
          "quantity": "2" 
         } 
        }, 
        { 
         "id": 15, 
         "food_name": "Bacang", 
         "protein": "3", 
         "calories": null, 
         "fact": "Hello Bacang adalah", 
         "carbohydrate": "3", 
         "unit_type": null, 
         "created_at": "2017-12-15 13:10:07", 
         "updated_at": "2017-12-15 13:10:07", 
         "image": "http://bmiproject.app/images/foods/bacangfeschp-4.jpg", 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 36, 
          "food_id": 15, 
          "quantity": "2" 
         } 
        }, 
        { 
         "id": 15, 
         "food_name": "Bacang", 
         "protein": "3", 
         "calories": null, 
         "fact": "Hello Bacang adalah", 
         "carbohydrate": "3", 
         "unit_type": null, 
         "created_at": "2017-12-15 13:10:07", 
         "updated_at": "2017-12-15 13:10:07", 
         "image": "http://bmiproject.app/images/foods/bacangfeschp-4.jpg", 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 36, 
          "food_id": 15, 
          "quantity": "2" 
         } 
        }, 
        { 
         "id": 15, 
         "food_name": "Bacang", 
         "protein": "3", 
         "calories": null, 
         "fact": "Hello Bacang adalah", 
         "carbohydrate": "3", 
         "unit_type": null, 
         "created_at": "2017-12-15 13:10:07", 
         "updated_at": "2017-12-15 13:10:07", 
         "image": "http://bmiproject.app/images/foods/bacangfeschp-4.jpg", 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 36, 
          "food_id": 15, 
          "quantity": "2" 
         } 
        } 
       ], 
       "created_at": { 
        "date": "2017-12-16 06:54:38.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       }, 
       "updated_at": { 
        "date": "2017-12-16 06:54:38.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       } 
      }, 
      { 
       "id": 37, 
       "bmi_status": "Normal Weight", 
       "eating_type": "Evening Snack", 
       "eating_time": "02:56:00", 
       "disease": "Diabetes", 
       "blood_group": null, 
       "age": 20, 
       "foods": [ 
        { 
         "id": 2, 
         "food_name": "Potato", 
         "protein": "10", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "80", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 37, 
          "food_id": 2, 
          "quantity": "9" 
         } 
        }, 
        { 
         "id": 1, 
         "food_name": "Meat", 
         "protein": "27", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "35", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 37, 
          "food_id": 1, 
          "quantity": "1" 
         } 
        } 
       ], 
       "created_at": { 
        "date": "2017-12-16 06:55:09.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       }, 
       "updated_at": { 
        "date": "2017-12-16 06:55:09.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       } 
      }, 
      { 
       "id": 38, 
       "bmi_status": "Normal Weight", 
       "eating_type": "Dinner", 
       "eating_time": "02:56:00", 
       "disease": "Diabetes", 
       "blood_group": null, 
       "age": 20, 
       "foods": [ 
        { 
         "id": 1, 
         "food_name": "Meat", 
         "protein": "27", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "35", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-11-04 08:36:31", 
         "image": null, 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 38, 
          "food_id": 1, 
          "quantity": null 
         } 
        }, 
        { 
         "id": 4, 
         "food_name": "Salad", 
         "protein": "30", 
         "calories": null, 
         "fact": "Fact Dummy", 
         "carbohydrate": "15", 
         "unit_type": null, 
         "created_at": "2017-11-04 08:36:31", 
         "updated_at": "2017-12-15 19:42:05", 
         "image": "http://bmiproject.app/images/foods/saladvuy8tb-4.jpg", 
         "servings": null, 
         "pivot": { 
          "diet_plan_id": 38, 
          "food_id": 4, 
          "quantity": null 
         } 
        } 
       ], 
       "created_at": { 
        "date": "2017-12-16 06:55:28.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       }, 
       "updated_at": { 
        "date": "2017-12-16 06:55:28.000000", 
        "timezone_type": 3, 
        "timezone": "UTC" 
       } 
      } 
     ] 
    }, 
    "exception": null 
} 

}

하자 초점 지점 foods.pivot의 응답, 그래서 내가 피벗에서 값을 복사 할 상위 분기로 분기 servings이라고합니다.

여기 관계는 음식 기능에 초점을두고 있습니다.

+0

그래서 수량을 서빙으로 복사해야합니까? –

답변

3

인위적인 값을 가져 오기 위해 변경할 수 있습니다.

Food 모델에 넣으십시오.

public function getServingsAttribute() 
{ 
    return $this->pivot->quantity; 
} 
+0

답변 해 주셔서 감사합니다. 나는 답을 찾았으므로, 거기에 놓인 것과 똑같이 보입니다. D –

+1

@MiftahMizwar 하하. 행복한 코딩! –