ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
Здравствуйте, коллеги!
Есть модель Article и таблица в MySQL под неё с полями `id`, `name`.
Теперь, через findBySql() я делаю join и вытягиваю из другой таблицы столбец, которого нет в Article. Возможно ли как-то присвоить его в качестве атрибута Article?
Заранее благодарен за помощь!
Есть модель Article и таблица в MySQL под неё с полями `id`, `name`.
Теперь, через findBySql() я делаю join и вытягиваю из другой таблицы столбец, которого нет в Article. Возможно ли как-то присвоить его в качестве атрибута Article?
Заранее благодарен за помощь!
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
в атрибуты добавьте, может сработает
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
может и можно, но зачем? AR не так работает.Testonder писал(а):Здравствуйте, коллеги!
Есть модель Article и таблица в MySQL под неё с полями `id`, `name`.
Теперь, через findBySql() я делаю join и вытягиваю из другой таблицы столбец, которого нет в Article. Возможно ли как-то присвоить его в качестве атрибута Article?
Заранее благодарен за помощь!
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
пробовал, не сработалоastronin писал(а):в атрибуты добавьте, может сработает
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
А как пробовали? Делала как-то такое и сработало:Testonder писал(а):пробовал, не сработалоastronin писал(а):в атрибуты добавьте, может сработает
Код: Выделить всё
class Article ...
{
public $some_filed;
}
...
Article::findBySql('select article.*, tab2.filed as some_filed from article join left tab2');
Код: Выделить всё
Article::find()
->select(' article.*, tab2.filed as some_filed')
->join(...)
->where(...)
->all();
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
Да, так и делал. Добавил публичное свойство с нужным именем в класс. Но значение из БД его не заполняет.Roksalana писал(а):А как пробовали? Делала как-то такое и сработало:Testonder писал(а):пробовал, не сработалоastronin писал(а):в атрибуты добавьте, может сработает
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
попробуйте без публичного метода, только в attributes
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
Туплю, действительно сработало объявление public атрибута в классе. Спасибо!
Как проще всего добавить свой элемент в attributes?
Как проще всего добавить свой элемент в attributes?
Re: ActiveRecord findBySql() - добавление атрибута, которого нет в таблице
переопределить метод attributes