In meinem Programm Ich brauche eine Arbeit Zeitplan wie diese allesequenzielle Auswahl Zeitraum
Ich habe eine Liste der Mitarbeiter, die zu erstellen haben eine „Turn-Nummer“, die angeben, welche ein sein wählen soll nach aktuellem
$nextOneTurn= ($currentOneTurn % $CountOfPersonel) +1;
, so kann ich richtigen wählen (wobei 'Schalten' = $ nextOneTurn) und se t es in der Kalendertabelle für den nächsten Tag
Challenge Wie kann ich mein Programm arrangieren und Datenbank:
1- einzigartig erhalten „Turn-Nummer“
2- Windungszahlen sein sollte (und pflegen immer kontinuierlich) (zB: 1-2-3-4-5)
3-, wenn jemand bearbeiten Personen und zB: change "Jans" Turn bis 3, automatisch auf 1 Daniels Schalten Änderung
4- wenn jemand löscht zB: "pedro", alison's Wechsel automatisch auf 4 umstellen
Ich weiß nicht, ist es richtig, alle Grundsätze in Programmcode festlegen (PHP) oder sollten einige Bedingungen in der Datenbanktabelle
(oder wenn diese Art der Auswahl ist völlig falsch?) Gesetzt
"Turn_number" ist im Code so wichtig. und eine falsche Nummer bringt Desaster.
UPDATE: für Code gefragt
dies Kalender Tabelle
Schema::create('calendars', function (Blueprint $table) {
$table->increments('id');
$table->DATE('date');
$table->integer('seats_id')->unsigned()->index();
$table->integer('historys_id')->unsigned()->index();
$table->integer('seats_type');
$table->integer('positions_id')->unsigned()->index();
$table->integer('positions_order')->unsigned()->index();
$table->integer('locations_id');
$table->integer('shifts_id');
$table->integer('people_id')->unsigned()->index();
$table->boolean('off')->nullable();
$table->integer('people_id2')->unsigned()->index()->nullable();
$table->boolean('off2')->nullable();
$table->time('duration');
$table->timestamps();
});
und personel Tabelle:
Schema::create('personel', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('location_id')->unsigned()->index();
$table->string('raiting');
$table->integer('point');
$table->string('flag')->nullable();
$table->integer('order');
$table->boolean('multi')->nullable();
$table->timestamps();
});
und Codeinformationen einfügen
$shift = DB::table('personel ')->insert(['name' => $request->name,'raiting'=>$request->raiting,'point'=>$request->point,'flag'=>$request- >flag,'order'=>$request->order]);
personel
Ich validate nur Eingabedaten, um etwas zwischen 1-5 (Anzahl der Person) und unique sein.
Also wollen Sie, dass wir Ihre Arbeit machen? –
Ich möchte wissen, ob dieser Ansatz korrekt ist, um nächste Runde zu finden, oder kann ich etwas Besonderes in Mysql setzen Tabelle –
ist es möglich, etwas in MySQL zu tun, um keine Zahlen größer als eine Variable zu akzeptieren –