2013-06-12 299 views
0

我有一個銷售模式定義,當我打電話Quote::find('1');它沒有返回我的銷售對象。我的關係做錯了嗎?下面是表的結構:Laravel雄辯關係

報價:編號,公司名稱,舞臺,saleId

銷售:ID,姓名,phoneNumber的

Class Quote extends Eloquent 
{ 

    protected $with = ['sale']; 

    public function sale() 
    { 
     return $this->hasOne('Sale', 'id'); 
    } 
} 

在我Sale模型我已經定義:

public function quote() 
{ 
    return $this->belongsTo('Quote'); 
} 
+0

你的意思是'Sale :: find(1)'? –

+0

不,我的意思是Quote :: find(1)。我編輯了我的問題。它返回報價而不是銷售。 – ipengineer

+0

你叫'Quote :: find('1') - > sale-> name'?> –

回答

0

試試這個:

$quote = Quote::with('sale')->find(1); 

你應該可以這樣去做$quote->sale->name

1

我想通了。有我的關係倒退。

Class Quote extends Eloquent 
{ 

    protected $with = ['sale']; 

    public function sale() 
    { 
     return $this->belongsTo('Sale', 'saleId'); 
    } 
} 

爲了更好地理解它,我認爲你可以說,在一個belongs_to的關係,外鍵駐留在模型的表,你正在試圖創建的關係。所以上面的函數可以被讀爲「saleID belongsTo Sale model」。

使用has_one時,外鍵駐留在其他模型的表中。