Laravel атрибут соединения игнорируется через hasmanythrough - PullRequest
0 голосов
/ 30 марта 2020

Сводка

Я пытаюсь использовать hasManyThrough связь с таблицами из разных соединений.

Описание проблемы:

При определении отношения hasManyThrough, атрибут protected $connection игнорируется.

Шаги для воспроизведения:

Создайте следующие модели (сокращенный код)

class Resource extends Model
{
    protected $connection = 'tcollect'

    public function absences()
    {
        return $this->hasManyThrough('ARM\TargetHoraire\Absence', 'ARM\Tcollect\ICO\ICOExternalReference', 'RecordID', 'ResourceID', 'ID', 'ExternalKey');
    }
}
class Absence extends Model
{
    protected $table = 'Absences';
    protected $connection = 'punch';
}

class ICOExternalReference extends Model
{
    protected $table = 'ICOExternalReferences';
    protected $connection = 'tcollect';
}

Затем вызовите связь с моделью ресурсов $resource->absences;

Обратите внимание, что ICOExternalReference $ атрибут соединения игнорируется. Он пытается использовать ICOExternalReference из соединения punch.

Вопрос

Есть ли проблемы с моим кодом или есть обходной путь для решения этой проблемы? Я создал проблему в репозитории фреймворка, но она сразу же закрылась.

1 Ответ

0 голосов
/ 31 марта 2020

Попробуйте с

hasMany(class with all parameter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...