2015-08-19 2 views
1

Здравствуйте, друзья у меня есть 2 таблицы Mysql с 1: N отношения между категорией и category_DatesMySQL 2 таблицы Updation/удаление на основе условия

Категория:

ID Category Frequency 
1 Cat A Half-yearly 
2 Cat B Quarterly 

category_Dates:

ID CatID Date 
1 1 01-Jan-15 
2 1 01-Jul-15 
3 2 01-Jan-15 
4 2 01-Apr-15 
5 2 01-Jul-15 
6 2 01-Oct-15 

основанный на частоте категории, я автоматически вводил число записей в категории_значение. Например, Когда частота категории = ежеквартально, я вхожу 4 записи в category_date с идентификатором этой категории. И даты будут введены позже.

Я немного смущен, если в случае, когда on хочет отредактировать частоту от полугода до года. Как изменить количество записей. Пожалуйста, помогите с вашими ценными предложениями. Я использую laravel 4 framework с mysql

+0

Уход, чтобы проверить ответ? –

ответ

0

Если вы измените частоту в таблице категорий, извлеките обновление category_id, удалите все из category_dates, где CatId = category_id затем вставьте новые записи в category_Dates. Надеюсь, что эта помощь. Я предполагаю, что ваши модели являются категориями и категориями. категория идентификатор обновления ДАВАЙТЕ 1 из Half-yearlyto в ежеквартальном

$query = Category::find(1); 
$query -> Frequency = 'Quarterly'; 
$query -> save(); 
return $query -> id; 

в модели CategoryDates Вы хотите удалить CatID = 1 и вставить новые данные

$catID = 1; 
$query = CategoryModel::where('CatId',$catId) -> delete(); 
$data = ['CatId' => $catID,'date' => 01-Jan-15, ....]; 
CategoryModel::create($data); 

конечно при условии, что вы бы вернуться вновь обновил идентификатор категории до вашего контроллера и вызвал funtionn, чтобы выполнить обновление в вашем CategoryModel. Надеюсь, что эта помощь.

+0

Кажется, хорошая работа вокруг. Любые сложности в этом – Natasha

+0

Нет, довольно прямолинейно, удалять записи и вставлять новые записи. – mdamia

1

Лучший способ будет с 3-м столом, соединяющим даты и категории. См. Немного осторожно, вы можете увидеть его на самом деле отношение многих к многим (от N до N), поскольку 1 категория может иметь несколько дат. и одна дата может быть частью нескольких категорий, например, 01-Jan-15 является частью категорий 1 и 2.

Так используйте

категории стол

id Category Frequency 1 Cat A Half-yearly 2 Cat B Quarterly

Дата таблицы

id Date 1 01-Jan-15 2 01-Apr-15 3 01-Jul-15 4 01-Oct-15

categories_dates стол

ID CatID Date_id 1 1 1 2 1 3 3 2 1 4 2 2 5 2 3 6 2 4

+1

Хорошо ........... –

+0

Спасибо ...... !! –

+0

Спасибо. Я знаю об этом, но это усложняет весь процесс, в котором ранее мне приходилось вводить записи в одну таблицу. Теперь мне нужно одновременно вводить записи в две таблицы.Также я должен использовать каскад для сохранения целостности записей. Какие-либо предложения – Natasha

Смежные вопросы