2015-10-27 71 views
1

我對此有點困惑。laravel中的關係

讓我舉個例子。比方說,我有一個名爲

{ 
    "books": { 
     "id": 1, 
     "bookshelf_id": 1, 
     "created_at": "2015-10-26 08:26:32", 
     "updated_at": "2015-10-26 08:26:32" 
    } 

表,讓我們說我有另一個表稱爲書架

它有這個。

"bookshelves": { 
    "id": 1, 
    "name": "Mrs. Maritza Pollich DVM", 
    "slots": 20, 

} 

這是模型的樣子

public function bookShelf() 
    { 
     return $this->hasOne('App\Models\BookShelf'); 
    } 

書架

public function book() 
{ 
    return $this->belongsTo('App\Models\Book'); 
} 

現在,這只是正常

問題

一個bookshelf也在它的許多books爲好。如何實現這種關係?

這樣的事情會導致混亂,我想。

書架模型

public function book() 
{ 
    return $this->hasMany('App\Models\Book'); 
} 

模型

public function bookshelf() 
    { 
     return $this->belongsTo('App\Models\Bookshelf'); 
    } 

這是去了解它的正確方法?

回答

0

第二種方法是正確的。

每本書都沒有單獨的書架。所以,

public function bookshelf() 
    { 
     return $this->belongsTo('App\Models\Bookshelf'); 
    } 

,當然還有一個書架不屬於一本書