Как получить метод внешнего ключа, используемый в Laravel Eloquent Relationships? - PullRequest
0 голосов
/ 08 ноября 2019

У меня проблема с тем, как получить имя метода, которое использовалось в других моделях.

Существует список моделей, и некоторые из них использовали другое имя метода для его связи с другими моделями.

Например, у меня есть название модели Сведения о членстве , в котором оно принадлежит Членский рейтинг модель. Метод, который подключается от Сведения о членстве до Членство - это метод head().

Вот пример кода для метода head ():

public function head()
{
    return $this->belongsTo(MemberRate::class, 'member_rate_head_id')->withTrashed();
}

А для Сведения о клиенте * Модель 1020 * принадлежит модели Клиент . И имя метода соединителя, которое было использовано, это group()

Вот пример кода для group ():

public function group()
{
    return $this->belongsTo(Customer::class, 'head_id', 'id')->withTrashed();
}

Так что проблема в том, что я не знаю, является ли эта модельиспользуя head () или group () или другое имя метода.

Есть ли способ концепции Laravel Relationship, который может получить список или тип массива используемого метода его внешнего ключа?

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

Например:

$memberRateDetail->getForeignMethod()->created_by;

**OR**

$customerDetail->getForeignMethod()->created_by;

Большое вам спасибо !!!

1 Ответ

0 голосов
/ 08 ноября 2019

Нет, нет, если вы не объявите их сами.

Допустим, вы объявляете метод во всех своих моделях, где вы объявляете метод для класса Foreign Relations. Вы также можете реализовать его как интерфейс.

Вы также можете просто использовать подсказку кода, если у вас хорошая IDE, объявление отношения в PHP документах, так как * @property Collection head также может помочь.

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