Laravel 변 hasMany 및 BelongsToMany 반환하지 않는 함께 사용하는
문제
내가 하려고 하나의 쿼리가 다시 얻을 수있는 order
고 card
충전하겠지만,그 오류가 있습니다.
카 모델:
class Card extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function user()
{
return $this->belongsTo('User');
}
public function orders()
{
return $this->hasMany('Order');
}
}
순서는 모델:
class Order extends Eloquent {
protected $guarded = array();
public static $rules = array();
public function user()
{
return $this->belongsTo('User');
}
public function card()
{
return $this->hasOne('Card');
}
public function address()
{
return $this->belongsTo('Address');
}
public function orderItems()
{
return $this->hasMany('OrderItem');
}
}
내가 무슨 노력하고 다시 얻을:
$order = Order::with('card')->find($id);
이것은 분명히 작동하지 않가 여러 콤보.나는 생각한 문제로 나의 모델/관계입니다.
어떤 생각할 수 있는 방법을 다시 얻기 위해 카드/토큰하세요.
DB 정보:각각의 순서를 하나만 있을 수 있습니다 card_id
고 각각의 카드에서 할 수있는 많은 주문이 있습니다.이 없 order_id
에서 카드입니다.
주문 테이블은 기본적으로:
id | card_id
카드를 테이블:
id | token
을 얻으려고 노력 token
콜로 돌아갑 Order
.
해결책
에 Order
모델해야 합 change this:
public function card()
{
return $this->hasOne('Card');
}
다.
public function card()
{
return $this->belongsTo('Card');
}
그 이유는 정의 역의 hasMany
관계입니다.과 belongsTo
관계,변를 찾습니다 card_id
열 orders
테이블.
제휴하지 않습니다 StackOverflow