Связи HasOne в yii2

152
21 июня 2018, 04:40

Пытаюсь сделать связь вот такого вида:

 $this->hasOne(\common\models\MyModel::className(), ['novos_id' => 'novos_id','rooms' => 'rooms','ROUND(a.area,1) = ROUND(b.area,1)'])->alias('b')

Но не получается. Нужно как-то запихнуть в связь 'ROUND(a.area,1) = ROUND(b.area,1)' в ON , но инфы не нашел как это сделать. Может кто сталкивался ?

Answer 1

//Это комментарий.

  1. Второй параметр в hasOne() должен указывать на поля, по которым таблицы связаны. Если хотите добавить дополнительные условия, то используйте where().

Пример из моей модели:

public function getFiles()
{
return $this->hasMany(Attachment::classname(),['itemId' => 'id'])
->where(['model' => 'message']);
}
  1. Укажите структуры этих двух таблиц и что вы хотите этим запросом получить. Так вопрос будет понятнее.
  2. Лучше сначала напишите ваш запрос на чистом SQL, а потом переводите на yii2. Я так делаю, если запрос сложен)
READ ALSO
Реально ли создать биткоин кошелёк на php?

Реально ли создать биткоин кошелёк на php?

Реально ли создать биткоин кошелёк на php? Обрыл интернет в поиске каких-то инструкций или понятной документации, но не понял удастся ли мне...

184
Подсчет количества голов. SQL запрос

Подсчет количества голов. SQL запрос

Есть таблица, где хранятся результативные действия игроковЕсть поле, которые под определенным индексом хранит определенное действие(1-гол,...

167