2017-03-09 99 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