0

Laravel 5で次のクエリを雄弁なモデルに変換するには?

    $city = DB::table('cities')
        ->join('provinces', 'cities.province_id', '=', 'provinces.id')
        ->join('countries', 'provinces.country_id', '=', 'countries.id')
        ->select('cities.name as City','provinces.name as Province','countries.name as Country')
        ->where('cities.isDelete', '=', '0')
        ->get();

私のテーブル構造は次のとおりです。

  1. 国: ID、名前

  2. 州: ID、名前、country_id

  3. 都市: id、名前、province_id

雄弁なモデルで 2 つのテーブルを使用しましたが、3 つのテーブルを管理する方法がわかりません。PS モデルで自分の関係を適切に定義しました。

4

1 に答える 1

0

これらのコードを試してください。詳細については、https: //laravel.com/docs/5.2/eloquent-relationships を参照してください。

 //Create this method in city model

public function province()
    {
        return $this->belongsToMany('App\Province');
    }

//Create this method in province model

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

今すぐこのクエリを試してください

$city = DB::table('cities')->with('province','province.country')
        ->where('cities.isDelete', '=', '0')
        ->get();

結果のデータはネストされた形式になります

like cities
       -province
         ->country 
于 2016-06-19T12:32:05.243 に答える