villiwalla
@villiwalla
HTML-верстка

Как выбрать значение ИЗ промежуточной таблицы?

Есть три таблицы, в одной таблице список специалистов, во второй список услуг, в третей таблице связь специалистов с услугами и стоимость услуги оказываемой специалистом.

Сейчас я могу получить полное описание услуги связанной со специалистом, но не могу получит стоимость этой услуги оказываемой этим специалистом.
$model->services[0] // Описание услуги
$model->services[0]->price //  тут должна быть цена услуги


Ну и на оборот, получить список специалистов оказывают данную услуги могу, но не могу получить цену этой услуги:
$model->specialists[0] // Информация о специалисте
$model->specialists[0]->price //  error


Как можно выбрать цену услуги из промежуточной таблицы?

Таблицы:
Специалисты:  id | name
Услуги:  id | name
Услуги специалистов: id | service_id | specialist_id | price


Модель специалиста:
public function getServices() {
        return $this->hasMany(Services::className(), ['id' => 'service_id'])
            ->viaTable('services_specialist', ['specialist_id' => 'id']);
    }


Модель услуг:
public function getSpecialists() {
        return $this->hasMany(Specialist::className(), ['id' => 'specialist_id'])
            ->viaTable('services_specialist', ['service_id' => 'id']);
    }
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
villiwalla
@villiwalla Автор вопроса
HTML-верстка
public function getPrice() {
        return $this->hasOne(ServicesSpecialist::className(), ['service_id' => 'id']);
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы