私はYii2フレームワークを使用しているプロジェクトでアクティブレコードのリレーショナルデータ機能を使用しようとしています。私は2つのテーブル(「投稿」と「結果」)の間に宣言された多対多の関係を持っています。私はデータにアクセスしようとすると、それもこのように動作します:私は3番目のテーブルが関与する必要がある場合にYii2のアクティブレコード(PHP):関係を持つ他のDBテーブルへのアクセス
$post = Post::findOne(id);
$result= $post->result;
私の問題がアップします。私は "結果"テーブルと別のテーブル( "天気")の間に多対1の関係を(私のモデルで)宣言しました。 ResultControllerで
:WeatherControllerで
public function getWeather() {
return $this -> hasOne(\modules\custom\models\Weather::className(), ['id' => 'weather_id']);
}
:
public function getResult() {
return $this -> hasMany(\modules\custom\models\Result::className(), ['cube_id' => 'id']);
}
上記mentionnedのように、私は "ポスト" と "結果" のデータにアクセスしたら、それはまたからのデータにアクセスすることが可能です関係を介して「結果」にリンクされている「天気」?そうでない場合は、3番目のテーブルからデータを取得する最良の方法は何ですか?
http://www.yiiframework.com/doc-2.0/yii-db-activerelationtrait.html#via()-detailにアクセスするにはvia()を使用してください – SiZE