내 주문 수량열망 로딩 한 다 대다 관계
class Item extends Eloquent {
public function containers()
{
return $this->belongsToMany('Container', 'items_containers', 'item_id', 'container_id')->withPivot(['quantity']);
}
}
class Container extends Eloquent {
public function items() {
return $this->belongsToMany('Item', 'items_containers', 'container_id', 'item_id')->withPivot(['quantity']);
}
}
그리고 세 번째 모델을 추적하기 위해 여분의 열이있는 피벗 테이블을 통해 연결된 두 가지 모델이 있습니다
class OrderItem extends Eloquent {
public function originalItem()
{
return $this->hasOne('Item', 'id', 'item_id');
}
public function container() {
return $this->hasOne('Container', 'id', 'container_id');
}
}
을
내가 원하는 것은 OrderItem 모델을 열심히로드 할 때 피벗 테이블에서 특정 데이터를 가져올 수 있기 때문에 item_id
및 container_id
이 주문 항목의 내용과 일치하는 수량 만 가져옵니다.
OrderItems::whereOrderId($orderId)
->with(['originalItem', 'container', '???'])
->get();
OrderItem에의 관계를 지정하거나 with
그것을에서로드하는 가장 좋은 방법은 무엇입니까?
나는 당신의 구조를 정말로 이해하지 못한다. 오해하면 미안하다. 모델을 참여시키는 훌륭한 방법은 다음과 같습니다. $ orderItem = OrderItems :: find ($ orderId); $ orderItem-> originalItem; $ orderItem-> container; – Christ
with 명령을 사용하는 주요 목적은 데이터를 anglejs 앱으로 반환한다는 것입니다. 하루 종일 원본 항목과 컨테이너를 가져올 수 있지만 items_containers 피벗 테이블에있는 특정 수량 값을 가져와야합니다. – aynber