Я написал вызов API, который извлекает файл .json в MainTable.
В LangTable у меня есть 3 языка, и я извлекаю данные json для каждого языка.
Данные Json имеют поле ключа и локали для заполнения.
Чтобы избежать дублирования, не должно быть дублированного ключа <-> значений локали, поэтому его следует проверять для каждого ключа.
Как проверить это перед сохранением базы данных?
Код ниже работает. Теперь мне нужно добавить упомянутую логику.
Кто-нибудь может помочь?
$file = file_get_contents('translation.json');
$jsonData = json_decode($file, true);
$findLanguage = $this->getLangTableRepository()->findAll();
foreach ( $findLanguage as $locale) {
foreach ($jsonData as $data) {
$newTranslation = new MainTable();
$newTranslation->setKey($data);
$newTranslation->setLocale($locale->getLocale());
$this->em->persist($newTranslation);
}
}
$this->em->flush();
dump('done!');die;