내 코드는 Laravel + dingo에 의해 구성됩니다.laravel eloquent 모델 딩고 변압기와 일대 다 관계
나는 많은 관계로 하나를 두 모델을 가지고 :
Reservation.php (마스터)
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Reservation extends Model
{
protected $table = 'dbo.Reservation';
public function hasManyReservationDetails()
{
return $this->hasMany('App\Models\ReservationDetail', 'ReservationID', 'ReservationID');
}
}
ReservationDetail.php (세부 사항)
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class ReservationDetail extends Model
{
protected $table = 'dbo.ReservationDetail';
public function belongsToReservation()
{
return $this->belongsTo('App\Models\Reservation', 'ReservationID', 'ReservationDetailID');
}
}
그리고 두 변압기 두 모델은 다음과 같습니다 :
ReservationTransformer
public function transform(Reservation $reservation)
{
return [
'reservation_id' => (int) $reservation->ReservationID,
'reservation_no' => $reservation->ReservationNo,
];
}
ReservationDetail 변압기
public function transform(ReservationDetail $reservation_detail)
{
return [
'reservation_detail_id' => (int) $reservation_detail->ReservationDetailID,
'reservation_id' => (int) $reservation_detail->ReservationID,
'room_no' => $reservation_detail->RoomNo,
];
}
내 컨트롤러 및 문의
$reservation = Reservation::where('ReservationNo', '=', $reservation_no)
->with('ReservationDetails')
->get();
return $reservation;
I
{
"Reservations": [
{
"ReservationID": "1",
"ReservationNo": "2016-06-01 16:50:59.0659",
"reservation_details": [
{
"ReservationDetailID": "1",
"ReservationID": "1",
"RoomNo": "001",
},
{
"ReservationDetailID": "2",
"ReservationID": "1",
"RoomNo": "002",
}
]
}
]
}
내가 다음 만 마스터의 번역을 반환하려고 다음과 같은 수익을 얻을 표.
$reservation = $this->collection($reservation, new ReservationTransformer());
**
어떻게 함께 마스터 및 세부 테이블의 데이터를 변환 할 수 있습니까?
**
정말 '사용자 정의 변환 레이어가'작동 방식을 이해하고 있지 않다는, 사람이 사람이 나에게 예를 줄 수 있습니까?
많은 감사.