Yii2 / hasOne / hasMany или что я делаю не так?

Имеем 3 таблицы:
Teams (id, capitan_id, ...) - список поманд
Fighters (id, ...) - список бойцов
Rosters (id, fighter_id, team_id) - таблица связей "многие-ко многим"
Релэйшены между таблицами имеются

Как на вьюхе конкретной команды вывести список её бойцов, а также её капитана, я понял
А вот как вывести список команд и в каждой капитана и список бойцов, никак не пойму.

Модель:
<?php 
namespace app\models;

use Yii;
use app\models\Fighters;

class Clans extends \yii\db\ActiveRecord {
	
	public static function tableName() {
		return 'teams';
	}
    
	public static function allClans() {
		$data = self::find()->all();
		return $data;
	}
    
	public function getCapitans() {
	//получаю капитана команды
        	return $this->hasOne(Fighters::className(), ['id' => 'capitan_id']);
	}
    
	public function getMembers() {
	//получаю бойцов команды
		return $this->hasMany(Fighters::className(), ['id' => 'fighter_id'])
	                ->viaTable(Rosters::tableName(), ['team_id' => 'id']);
	}
		
}


Подскажите, пожалуйста! Ступор прямо!
  • Вопрос задан
  • 1953 просмотра
Решения вопроса 1
@shamyyl
Web-разработчик
Тебе на до правильно вывести связь многие ко многим.
Yii2. Связывание посредством промежуточной таблицы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы