1

LaravelでBelongsToThrough関係を実装するには?

私はテーブルを持っています:

**projects_table**
id 

**categories_table**
id
project_id 

**properties_table**
id
category_id

カテゴリ BelongsTo プロジェクト

public function project(){
    return $this->belongsTo('App\Project');
}

プロパティ BelongsTo カテゴリ

public function category(){
    return $this->belongsTo('App\Category');
}

どうすれば関係を築くことができますか?

カテゴリを介したプロパティ BelongsTo プロジェクト

public function project(){
     return $this->belongsToThrough('App\Project', 'App\Category');
}

質問を編集します。

アプリケーションでマルチテナンシーを実行したいので、テナンシーは PORJECT です。プロジェクトごとにカテゴリとプロパティを分けたい。

CATEGORY は属しているプロジェクト PROPERTY は属している CATEGORY

そのため、CATEGORY を介して PROPERTY と PROJECT の関係を作成したいと考えています。今のところ、次を追加する必要があります:カテゴリテーブルとプロパティproject_idテーブルの両方に追加する必要がありますが、これは正しい方法ではないと思います。

4

3 に答える 3

0

あなたのプロパティbelongsToは正しくありません。プロパティはカテゴリに属します。

public function category(){
    return $this->belongsTo('App\Category','category_id');
}

これで、以下のようにプロパティからプロジェクトを取得できます。

{{ $property->category->project->project_attribute }} 
于 2019-09-14T04:48:11.800 に答える