0
У меня есть 3 модели: изображение, компания и файл. Так что, если мы посмотрим на модели компании, мы имеем:Yii2. «С» в ManyToMany
/**
* @return \yii\db\ActiveQuery
*/
public function getImages()
{
return $this->hasMany('galleries\models\Image', ['id' => 'image_id'])
->viaTable('{{%companies_has_images}}', ['company_id' => 'id']);
}
public function extraFields()
{
return ['images'];
}
теперь модель изображения:
/**
* @return \yii\db\ActiveQuery
*/
public function getFile()
{
return $this->hasOne('app\models\File', ['id' => 'file_id']);
}
public function extraFields()
{
return ['file'];
}
Так вот вопрос, как я могу получить изображения с правильными файлами в getImages() в Модель компании?
Просто используйте отношение? 'foreach ($ company-> images as $ image) $ file = $ image-> file;' Ваш вопрос несколько неясен. – Blizz
Спасибо, мне было нужно что-то вроде public function getFileImage() { { foreach ($ this-> images as $ image) { $ files [] = $ image-> file; } return $ files; } – rkalita
Если это информация, которую вы ищете, я напишу ее в ответе, чтобы вы могли отметить вопрос. – Blizz