Магазин моделей с другим столбцом, чем primaryKey

У меня есть эта модель Laravel / OctoberCMS для взаимодействия с моей ExchangeModel.

Это односторонние отношения с моей ExchangeModel.
В настоящее время он хранится в таблице базы данных клиентов через ExchangeModel.id. Но я хотел бы сохранить его как ExchangeModel.currencyISO, который представляет собой трехбуквенный код страны.

Что мне нужно настроить в отношении, чтобы laravel сохранил его через другое поле, которое я пытаюсь определить с помощью otherKey или ключа вместо primaryKey (id)?

<?php namespace PhunTime\Client\Models;

use Model;
/**
* Customer Model
*/
class Customer extends Model {
/**
* @var string The database table used by the model.
*/
public $table = 'CUSTOMER';
public $primaryKey = 'customerNumber';

/**
* @var array Relations
*/
public $belongsTo = ['currency' => ['PhunTime\ExchangeRate\Models\ExchangeModel',
'key' => 'currencyISO',// EUR,USD,YEN
'otherKey' => 'currencyISO'

]];
}

Уточнение структуры:

- Customer
- id
- name
- currency(varchar(3)) <-- relation

- ExchangeModel
- id
- currencyISO

В настоящее время ExchangeModel.id хранится в Customer.currency.

Я хочу, чтобы ExchangeModel.currencyISO был сохранен в Customer.currency
Customer.currency уже является полем varchar, подходящим для его принятия.

В настоящее время, если я укажу type:relation в fields.yaml хранит его ExchangeModel.id независимо от того, что я указываю, как это должно хранить это. использование otherKey, foreignKey, key, ничто не помогает изменить октябрьское мнение.

В настоящее время я использую type: dropdown что я заполняю через getcurrencyOptions() но, по моему мнению, это далеко не идеальная ситуация.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]