В настоящее время я пишу приложение с использованием Kohana 3.2, и это здорово, однако документация оставляет желать лучшего.
У меня есть модель рецепта и модель оценки, которые связаны has_many ипринадлежит.Рейтинги принадлежат рецепту, и рецепт имеет много оценок.Я смог успешно получить рейтинг рецепта, найдя рейтинг, который соответствует как идентификатору текущего пользователя, так и рецепту с помощью $ recipe-> рейтинги-> где ('user_id', '=', '$user-> идентификатор ').Получив рейтинг, я могу успешно его обновить.
$recipe = ORM::factory('recipe')
->where('id', '=', $recipe_id)
->find();
$my_rating = $recipe->ratings
->where('user_id', '=', $user->id)
->find();
$my_rating->rating = $rating;
$my_rating->save();
Проблема возникает, когда рейтинг еще не существует.Во всем, что я искал, я обнаружил, что, вероятно, мне следует использовать функцию $ recipe-> add () для добавления рейтинга, однако я продолжаю получать ошибки.Когда я пытаюсь загрузить рейтинг, я должен выполнить проверку, чтобы он нашел запись?Мне кажется, что у ORM есть способ узнать, существует ли он, а если нет, он должен его создать.
Приведенный выше код создаст новый рейтинг, однако он не будет автоматически добавлять recipe_idв таблицу рейтинга.Стоит ли сначала добавлять рейтинг в рецепт?