laravel中的关系

时间:2015-10-27 09:35:18

标签: php laravel

我对此感到有些困惑。

让我举个例子。我们假设我有一张名为 books

的表格
   {
    "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。如何实现这种关系?

我认为,这样的事情会引起混淆。

Bookshelf 模型

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

预订模型

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

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

第二种方式是对的。

每本书都没有单独的书架。所以,

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

当然书架并不属于一本书