문제

내가 하려고 하나의 쿼리가 다시 얻을 수있는 ordercard 충전하겠지만,그 오류가 있습니다.

카 모델:

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_idorders 테이블.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top