Nano Hash - криптовалюты, майнинг, программирование

Использование отношения «один ко многим» прикрепить или сохранить

У меня есть две таблицы, называемые таблицами уведомлений и alerFrequencies, и они имеют отношение ко многим соответственно. notification_id является внешним ключом в таблице alertFrequencies. в таблице уведомлений есть поля id и URL-адрес веб-сайта, а в таблице alerFrequncies есть поля id, notification_id и created_at.

Я пытаюсь автоматически вставить данные в таблицу alertFrequencies, используя следующую функцию, но мне это не удалось, она пожаловалась на функцию прикрепления?

private function add(Notification $notification,alertFrequency $alert, $alertTime){
    $notification->alertFrequencies()->attach($alert,
                            ['created_at'=>date($alertTime)]);
}
20.01.2017

  • При включении укажите точное сообщение об ошибке (и используйте разметку кавычек). 23.01.2017

Ответы:


1

Используйте update() вместо attach(), так как это one to many отношение. Приложение, используемое в many to many отношениях

private function add(Notification $notification,alertFrequency $alert, $alertTime){ 
    $notification->alertFrequencies()->update(['created_at'=>date($alertTime)]); 
}

Редактировать---

Чтобы ответить на ваш комментарий, зарегистрируйте поля created_at и updated_at в массиве $dates в вашем Notification вот такая модель.

protected $dates = [
    'created_at',
    'updated_at'
];

И когда вы сохраняете свои данные следующим образом, используя Carbon

    $notification->alertFrequencies()->update(['created_at'=>Carbon::parse($alertTime)]); 
20.01.2017
  • обновление работает отлично, но постоянно обновляет столбцы update_at и изменяет created_at на 00:00:00, а также приводит к потере записей данных, как вы думаете или предлагаете лучший способ? 20.01.2017

  • 2

    Attach используется для -много отношений.

    Чтобы создать отношения «один ко многим», вы просто устанавливаете notification_id вашего объекта alertFrequency и сохраняете его.

    20.01.2017
  • Я использовал сохранить его, не жалуйтесь как факт, но не смог его сохранить. я не вижу новых записей в базе данных 20.01.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..