сохранять повторяющиеся элементы в сводной таблице laravel - PullRequest
0 голосов
/ 03 апреля 2020

Я работаю с laravel, и у меня есть эти модели (сводка) со следующими отношениями:

Table products
  increment id;
  string    description;

Table materials
  increment id;
  string    name;  

Table material_product
  increment id;
  integer   product_id;
  integer   material_id;
  string    dimension;  

class Product extends Model
{
    public function materials()
    {
        return $this->belongsToMany(Material::class)->withPivot('dimension');
    }
}

class Material extends Model
{
    public function products()
    {
        return $this->belongsToMany(Product::class)->withPivot('dimension');
    }
}

Я использую Attach (чтобы сохранить) и Syn c (чтобы обновить данные моей сводной таблицы, проблема в том, что в моей бизнес-модели мне нужно сохранять повторяющиеся элементы, например:

products
+-----+--------------+
|  id | description  |
|-----|--------------+
|  1  | dining table |
+-----+--------------+

materials
+-----+------+
|  id | name |
|-----|------+
|  1  | wood |
+-----+------+

material_product
+-----+------------+-------------+-----------+
|  id | product_id | material_id | dimension |
|-----|------------+-------------+-----------+
|  1  |    1       |      1      |   10 x 2  |
+-----+------------+-------------+-----------+
|  2  |    1       |      1      |   5 x 3   |
+-----+------------+-------------+-----------+

, поэтому ни один из этих методов не работает для меня, так как если я отправляю более 1 повторного материала, только один прикреплен к моей базе данных, как я могу это сделать? какая-то идея?

...