Всем привет, сейчас работаю с ActiveRecord, создал объект модели внутри

другого класса, оба класса расширяют yii\db\ActiveRecord
Как можно получить доступ к свойствам объекта который находится внутри другого объекта?

5 ответов

12 просмотров

напиши лучше что пытаешь сделать. что это за объекты? ты две модели пытаешь по ключу связать?

Tesla- Автор вопроса

Да, есть 2 модели ActiveRecord: Валюта и торговая пара, связанные по ключу. В торговой паре 2 валюты. Делаю страничку на которой отображаются подробности торговой пары, на ней нужно вывести подробности о каждой валюте. Сейчас понял что реализую много однострочных методов в модели пары, пример ниже public function getBaseCurrencyName() { $coin = Coin::findOne($this->coin_id); return $coin->name; } Понял что эти методы можно не писать если добавлю 2 объекта ActiveRecord модели валюты в класс торговой пары, вот так: class Pair extends \yii\db\ActiveRecord { public $baseCoin; public $quoteCoin; public function __constructor() { $this->baseCoin = Coin::findOne($this->coin_id); $this->quoteCoin = Coin::findOne($this->pair_id); } ... } Как можно получить свойство из объектов $baseCoin/$quoteCoin?

Ты удивился когда узнаешь что есть связи между моделями

Этож связи...такое уже есть. Гугли hasOne/has many yii2

У тебя связь один к многим. Читай про связи (relation) ссылок выше накидали В твоем случае hasMany. class Pair extends ActiveRecord { public function getCoins() { return $this->hasMany(Coin::class, ['pair_id' => 'id']); } public function getBaseCoin() { //если валюта всегда является базовой //можешь ей свойство добавить и по нему фильтровать return $this->getCoins()->where(['base'=>true])->one(); //или через id как у тебя сейчас //$this->getCoins()->where(['id'=>$this->baseCoinId])->one(); } }

Похожие вопросы

Обсуждают сегодня

Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Приветствую друзья, подскажите сколько в среднем стоит на данный момент создать тг бота который будет как магазин? Показывать ассортименты доставлять заказы и тд? Все по станд...
Eugene
3
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
А вот из практических задач на работе, кто работает расскажите относительно задач на работе, как вообще выживаете. Если есть желание, интересно тоже что и как сейчас с этим . ...
...
2
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Привет. На сайте с видео установлена защита, не позволяющая скачивать видео, делать скриншоты и скринкасты, но это работает только с пк и устройств эпл. С андроида работают ск...
Lencore
1
Добрый день! Кто-нибудь знает как подключить твиг в контроллеры плагина?
Николай Афанасенко
5
@dblackCat Привет. Это же твой плагин? https://octobercms.com/plugin/catdesign-productbundle
Alexey Yakimov
5
Карта сайта