私は、人々がイベントにサインアップできるようにする定期的なイベントカレンダーを持っています。私は2つのテーブルを持ってdynamic_events
おりrecurring_events
、次の構造になっています。
dynamic events
id (int)
date (date)
time (time)
title (varchar[255])
desc (text)
max_attendees (int)
is_overwrite (tinyint[1])
recurring events
id (int)
day_of_week (int)
time (time)
title (varchar[255])
desc (text)
定期的なイベントが更新されるたびに、テーブルに対して一意に識別するように動的にしattendee
ます。現在の仕組みは、その日のすべての動的イベントをクエリしてから、その日のすべての定期的なイベントをクエリし、配列をPHP関数に渡して、日付と時刻が一致する場合は、定期的なイベントを動的イベントに置き換えます。とis_overwrite
は1に等しいです。基本的に、その日時の定期的なイベントが更新され、人々がサインアップできるようになったことを意味します。これは機能しますが、ある種の左結合を使用してPHPがなくてもこれが可能かどうか疑問に思いました。他のすべてのイベントを保持しながら、動的に対応する行を上書きするために、繰り返しテーブルの行を置き換えますか?どうすればいいのかわからず、正しい方向への一歩を探していました。うまくいけば、私は私の外植であまり混乱していません。