Čítanie odpovedí
Forms::submissions($form) vracia fluentný čítač, ktorý riadky jednotlivých polí poskladá späť do jednej sady [field_key => value] na každú odpoveď, v poradí formulára (skupiny, potom polia, podľa order). Odpovede na pole, ktoré bolo neskôr mäkko zmazané, sa načítajú tiež:
$answers = Forms::submissions($form)
->forSender($user) // optional
->latest() // or ->oldest()
->get(); // Collection<AssembledSubmission>
$answers->first()->values; // ['name' => 'Jane', 'email' => '[email protected]']
$answers->first()->value('name'); // 'Jane'Koncepty sa vynechávajú, kým nezavoláte ->withDrafts(). Výsledky sú predvolene od najnovších. Ďalej môžete filtrovať podľa uuid alebo výsledku schvaľovania — čítač je vždy obmedzený na svoj formulár, takže uuid iného formulára nenájde nič:
Forms::submissions($form)->whereUuid($result->uuid)->first(); // one submission
Forms::submissions($form)->pendingApproval()->get(); // awaiting review
Forms::submissions($form)->approved()->get(); // or ->rejected()Jedna odpoveď podľa uuid
Forms::submission() pristupuje k jednej odpovedi — alebo konceptu — podľa uuid, ktoré vrátilo submit() či draft(), alebo podľa jej modelu FormSubmission. Neznáme alebo neplatné uuid vyhodí SubmissionNotFoundException:
$submission = Forms::submission($result->uuid); // or Forms::submission($formSubmission)
$submission->uuid(); // the reference uuid
$submission->get(); // AssembledSubmission (a draft's values included)
$submission->model(); // the FormSubmission aggregate: status, sender, form
$submission->finalize(); // promote a draft
$submission->review(); // open a review (see Submission review)Čítač a AssembledSubmission
Forms::submissions($form)->withDrafts()->get(); // include unfinished drafts
Forms::submissions($form)->first(); // ?AssembledSubmission (newest)
Forms::submissions($form)->count(); // int
$answer = Forms::submissions($form)->first();
$answer->uuid; // submission reference id
$answer->values; // [field_key => typed value]
$answer->value('email', 'n/a'); // a single answer, with a default
$answer->senderId; // int|string|null — stored as the sender returns it
$answer->senderType; // ?string — the sender's morph class
$answer->submittedAt; // CarbonInterfaceKľúč poľa, ktorý zdieľajú dve skupiny formulára, má namiesto toho tvar group_key.field_key, takže si odpovede navzájom neprepíšu (['applicant.name' => 'Kid', 'guardian.name' => 'Parent']). Hodnoty sa vracajú typované — int pre číselné polia, bool pre checkboxy, CarbonImmutable pre dátumy — pozrite sekciu Typované hodnoty polí.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.