Laravel 5.xでリレーションを持つデータベースからモデルを作成するにはどうすればいいですか?関係を持つlaravelでモデルを作成する
私はモデルを作成するには、このコマンドを使用していますが、それは、データベーススキーマにあるすべての関係を示している。
職人::コール(「メイク:モデル」、配列(「名」=>」モジュール/管理者/モデル/キャンペーン '));
Laravel 5.xでリレーションを持つデータベースからモデルを作成するにはどうすればいいですか?関係を持つlaravelでモデルを作成する
私はモデルを作成するには、このコマンドを使用していますが、それは、データベーススキーマにあるすべての関係を示している。
職人::コール(「メイク:モデル」、配列(「名」=>」モジュール/管理者/モデル/キャンペーン '));
あなた自身の関係を傷つけなければならない、ララベルはそれを行うことはできません。
public function relation1()
{
$this->hasMany('CLASS_NAME', 'FK');
}
すべてのブランドは、多くの製品を持っており、非常に製品が一つだけのブランドを持っている、ので、我々はこのケースでbrands.So多くの異なる製品が含まれて店を持っていると仮定しましょう、私は多くの関係1つを作成する必要があります。そこで、artisanコマンドを使用してモデルを作成しましょう。
php artisan make:model Product -m // "-m" creates tables for us.
php artisan make:model Brand -m
ここで、関係を作成してみましょう。私はこのようにそれを読んで、このstatemetの過小を明確にするために関係
public function brand(){
$this->belongsTo('App\Brand') ;
}
のためのブランドの機能を作成しています「製品」モデルでは
。論理的に正しい場合は「製品belongsTo、ブランド」、正しいパスを使用してください。
同じロジックが逆関係のために有効ですが、それはすでに使われているので、私が関係
のためのブランドの機能を作成していた「と、多くの」 「ブランド」でモデルを使用する方が論理的であるように、この時間はあなたが、belongsToのを使用することはできませんpublic function products(){
$this->hasmany('App\Product') ;
}
「ブランドには多くの製品があります」と読んでください。
はい、あなたがここに書いたのは書き込みですが、今はもっと多くの関係を含む200以上のテーブルのデータベースを持っています。今、私は1対1の関係をどうやって得ることができますか、それが各モデルの1対1であろうと何か他のものであればどうですか?モデルにこれらの関係を追加する方法はありますか?データベースからクラスを作成するときにHibernate(JAVA)のように、これらの関係を自動的に生成します。 – subhajit
あなた自身であなたの関係を定義する必要があります:) – Christophvh
https://laracasts.com/series/laravel-from-scratch-2017/episodes/7 –
大規模なデータベースが存在する可能性があるのでたくさんの関係があります。 – subhajit