NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Forms for Laravel

Čí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;           // CarbonInterface

Kľúč 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 kryptomien

Odoslaní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.