2017-03-09 101 views
0

如何使用Laravel 5.x中的关系创建模型?在关系中创建模型

我使用这个命令来创建模型,但它表现出任何的关系是在数据库架构:

工匠::调用(“使:模式”,阵列(“名称” =>”模块/管理/型号/系列“));

+0

你必须自己定义你的关系:) – Christophvh

+0

https://laracasts.com/series/laravel-from-scratch-2017/episodes/7 –

+0

我认为应该有一些解决方法,因为可以有一个大型数据库有很多关系。 – subhajit

回答

1

你必须亲自确定你的关系,拉拉维尔不能为你做这件事。

public function relation1() 
{ 
    $this->hasMany('CLASS_NAME', 'FK'); 
} 
0

让我们假设我们有一个店,其中包括在这种情况下brands.So的许多不同的产品,我需要创建一个一对多的关系,因为每个品牌都有很多的产品和极具产品只有一个品牌。所以让我们使用artisan命令创建我们的模型。

php artisan make:model Product -m // "-m" creates tables for us. 
    php artisan make:model Brand -m   

让我们来创建关系;

在“产品”的模式,我创建品牌函数关系

public function brand(){ 

     $this->belongsTo('App\Brand') ; 
    } 

,使这个statemet明确的低估,看它这样。 “产品属于品牌”,如果它在逻辑上是正确的,那么你就是正确的道路。

同样的逻辑也适用于反向关系,但这个时候你不能使用属于关联,因为它已被使用,所以它是更符合逻辑用“有很多个” 在“品牌”的模式,我的关系

创造品牌功能
public function products(){ 

     $this->hasmany('App\Product') ; 
    } 

将其解读为“品牌有很多产品”。

+0

是的,你在这里写的是写,但现在我有超过200个包含更多关系的表的数据库。现在我怎样才能得到一对一的关系,或者如果它是每个模型中的一对多或某些其他事物? Laravel有什么方法可以将这些关系添加到模型中?像在Hibernate(JAVA)中一样,从数据库创建类时,它会自动生成这些关系。 – subhajit