Можно ли как-то передать массив моделей для полиморфной связи many-to-many?

Да, в фреймворке Laravel вы можете передать массив моделей для полиморфной связи many-to-many. В Laravel присутствует удобный метод attach для добавления связей в таблицу промежуточного отношения. Однако, при работе с полиморфными отношениями немного отличается подход.

Для создания полиморфной связи many-to-many с использованием массива моделей, вам необходимо выполнить следующие шаги:

1. Определите отношения в ваших моделях. Например, у вас есть модель Post, модель Image и модель Video. Обе модели Image и Video могут быть прикреплены к посту, поэтому у них есть полиморфные связи с моделью Post.

// Модель Post
public function images()
{
    return $this->morphToMany(Image::class, 'imageable');
}

public function videos()
{
    return $this->morphToMany(Video::class, 'videoable');
}

2. Далее, создайте экземпляры ваших моделей и сохраните их в массив:

$post = Post::find($postId);
$images = [Image::find(1), Image::find(2)];
$videos = [Video::find(3), Video::find(4)];

3. Теперь прикрепите массивы моделей к посту, используя метод attach:

$post->images()->attach($images);
$post->videos()->attach($videos);

Теперь массивы моделей Image и Video будут связаны с конкретным постом через полиморфные отношения many-to-many.

Это позволяет вам легко работать с полиморфными связями и передавать массивы моделей для установления связей между записями в базе данных в фреймворке Laravel.