Вопрос я уже поднимал (
Как выбрать значение ИЗ промежуточной таблицы? ), но вроде как сам нашел на него ответ. Но вот, заметил то что цены на услуги специалиста выбираются не верно.
Model Services.phppublic function getPrice() {
return $this->hasOne(ServicesSpecialist::className(), ['service_id' => 'id']);
}
public function getSpecialists() {
return $this->hasMany(Specialist::className(), ['id' => 'specialist_id'])
->viaTable('services_specialist', ['service_id' => 'id']);
}
Model Specialist.phppublic function getServices() {
return $this->hasMany(Services::className(), ['id' => 'service_id'])
->viaTable('services_specialist', ['specialist_id' => 'id']);
}
На странице специалиста вызываю:<? foreach($model->services as $service): ?>
<tr>
<td style="vertical-align: middle;"><?= $service->title ?></td>
<td><?= \yii\helpers\Html::textInput('ServicesSpecialist['.$service->id.']', $service->price->price, ['class' => 'form-control']) ?></td>
</tr>
<? endforeach; ?>
ID специалиста 38, вторая услуга всегда приходит для специалиста с ID 40:
var_dump()object(app\models\Services)[187]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=8)
'id' => int 12
'title' => string 'Цикл вебинаров «Отношения»' (length=50)
'description' => string 'Отношения – это мир в котором мы живем. Связь «я и другой» , это то, в чем мы находимся постоянно. ' (length=175)
'content' => string '<p><em>Отношения</em> &ndash; это мир в котором мы живем. Связь &laquo;я и другой&raquo; , это то, в чем мы находимся постоянно. Существование человека возможно только во взаимодействии с другим. С одной стороны отношения &mdash; это то, без чего невозможно. С другой &ndash; это очень'... (length=2265)
'preview' => string '208704-abstinence1-e1346602431670.jpg' (length=37)
'url' => string 'tsikl-vebinarov-otnosheniya' (length=27)
'created_at' => string '2017-10-19 22:12:31' (length=19)
'updated_at' => string '2017-10-26 00:59:46' (length=19)
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=8)
'id' => int 12
'title' => string 'Цикл вебинаров «Отношения»' (length=50)
'description' => string 'Отношения – это мир в котором мы живем. Связь «я и другой» , это то, в чем мы находимся постоянно. ' (length=175)
'content' => string '<p><em>Отношения</em> &ndash; это мир в котором мы живем. Связь &laquo;я и другой&raquo; , это то, в чем мы находимся постоянно. Существование человека возможно только во взаимодействии с другим. С одной стороны отношения &mdash; это то, без чего невозможно. С другой &ndash; это очень'... (length=2265)
'preview' => string '208704-abstinence1-e1346602431670.jpg' (length=37)
'url' => string 'tsikl-vebinarov-otnosheniya' (length=27)
'created_at' => string '2017-10-19 22:12:31' (length=19)
'updated_at' => string '2017-10-26 00:59:46' (length=19)
private '_related' (yii\db\BaseActiveRecord) =>
array (size=1)
'price' =>
object(app\models\ServicesSpecialist)[186]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=4)
'id' => int 1
'specialist_id' => int 38
'service_id' => int 12
'price' => int 1500
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=4)
'id' => int 1
'specialist_id' => int 38
'service_id' => int 12
'price' => int 1500
object(app\models\Services)[197]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=8)
'id' => int 13
'title' => string 'Консультирование родителей по вопросам детского развития' (length=107)
'description' => string '' (length=0)
'content' => string '<p><strong>Рекомендуется тогда, когда:&nbsp;</strong></p>
<ul>
<li>есть беспокойство на тему взаимоотношений с ребенком;&nbsp;</li>
<li>нуждаетесь&nbsp; в профессиональном информировании, переживаете о&nbsp; психологических трудностях ребенка;&nbsp;</li>
<li>желаете '... (length=609)
'preview' => string '0bc410d7e8a0d0bcde1d0d821f2d9b5d1834ca98.jpg' (length=44)
'url' => string 'konsultirovanie-roditeley-po-voprosam-detskogo-razvitiya' (length=56)
'created_at' => string '2017-10-19 22:35:01' (length=19)
'updated_at' => string '2017-10-26 01:03:58' (length=19)
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=8)
'id' => int 13
'title' => string 'Консультирование родителей по вопросам детского развития' (length=107)
'description' => string '' (length=0)
'content' => string '<p><strong>Рекомендуется тогда, когда:&nbsp;</strong></p>
<ul>
<li>есть беспокойство на тему взаимоотношений с ребенком;&nbsp;</li>
<li>нуждаетесь&nbsp; в профессиональном информировании, переживаете о&nbsp; психологических трудностях ребенка;&nbsp;</li>
<li>желаете '... (length=609)
'preview' => string '0bc410d7e8a0d0bcde1d0d821f2d9b5d1834ca98.jpg' (length=44)
'url' => string 'konsultirovanie-roditeley-po-voprosam-detskogo-razvitiya' (length=56)
'created_at' => string '2017-10-19 22:35:01' (length=19)
'updated_at' => string '2017-10-26 01:03:58' (length=19)
private '_related' (yii\db\BaseActiveRecord) =>
array (size=1)
'price' =>
object(app\models\ServicesSpecialist)[203]
private '_attributes' (yii\db\BaseActiveRecord) =>
array (size=4)
'id' => int 2
'specialist_id' => int 40
'service_id' => int 13
'price' => int 0
private '_oldAttributes' (yii\db\BaseActiveRecord) =>
array (size=4)
'id' => int 2
'specialist_id' => int 40
'service_id' => int 13
'price' => int 0
В таблице services_specialistid | specialist_id | service_id | price
1 38 12 1500
6 38 13 2000
Как решить данную проблему?