Я получаю дубликаты записей с методом присоединения в Laravel 5. Не уверен, в чем проблема - PullRequest
0 голосов
/ 11 октября 2018

Поэтому я пытаюсь прикрепить идентификаторы с некоторыми метаданными к сводной таблице в Laravel 5.

По какой-то причине я получаю две вставки там, где должен быть один, и вставляется неправильный идентификаторво второй раз

Я не уверен, есть ли здесь что-то, чего я мог бы упустить.

Это код:

$match_values = array(
                    'dataId' => $result->id,
                    'dataMetaId' => $the_meta->id
                );

                $result->campaignDataMeta()->attach($match_values, [
                    'meta_value' => $value
                ]);

Структура базы данных состоит из главной таблицы campaignDataдля кампаний по электронной почте - таблица campaignDataMeta (идентификатор, временные метки, имя) для имен метаданных электронной почты и таблица поиска campaignDataMatches (идентификатор, campaignDataId, campaignDataMetaId, meta_value).

В CampaignDataMatches я получаю значение campaignDataId, иногда вставляемое в столбец campaignDataMeta.

1 Ответ

0 голосов
/ 11 октября 2018

Я решил проблему.

Видимо, пришлось добавить соответствующий идентификатор (в данном случае dataMetaId) в параметр присоединения.

Например:

$result->dataMeta()->attach([$data_meta_id => [
                    'meta_value' => $value
                ]]);
...