Всем привет! Есть проблема с отношением hasManyThrough, по поиску уже находил такую же ошибку как у меня, но ответов на это не было, может кто ни будь сможет сейчас подсказать в чем проблема?
Я разширяю плагин RainLab.User, я добавляю новые поля в форму регистрации, селект - specializations(id, user_id, specialization_id) и мультиселект - materials(id, user_specialization_id, marterial_id) который относится к выбраному варианту в specializations.
Добавляю к модели пользователя следующие отношения,
$model->belongsToMany['specializations'] = [
'Ion4k\profile\Models\Specialization',
'table' => 'user_specializations',
'key' => 'user_id',
'otherKey' => 'specialization_id'
];
и
$model->hasManyThrough['materials'] = [
'Ion4k\profile\Models\UserSpecializationMaterial',
'key' => 'user_id',
'through' => 'Ion4k\profile\Models\UserSpecialization',
'throughKey' => 'user_specialization_id'
];
при помощи компонента добавляю эти поля в форму регистрации
Тип производимых товаров
<select name="specializations[]" class="form-control custom-select">
{% for specialization in specializations %}
<option value="{{
specialization.id }}">{{
specialization.name }}</option>
{% endfor %}
</select>
Используемые материалы
<select multiple name="materials[]" class="form-control custom-select">
{% for specialization_material in specialization_materials %}
<option value="{{ specialization_material.id }}">{{ specialization_material.name }}</option>
{% endfor %}
</select>
Тип производимых товаров(specializations), сохраняется верно и без проблем, а вот используемые материалы не сохраняются и выходит ошибка:
"Call to undefined method October\Rain\Database\QueryBuilder::getSimpleValue()" on line 2483 of /vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php
Прошу подсказать, возможно следует использовать другой тип отношения? Или этот я использую как то не так?