Campos ligados a banco
mad-dbradio-field
mad-dbcheckbox-group-field
mad-dbsort-list-field
mad-dbselect-check-field
mad-dbchecklist-field
Radio (DB)
mad-dbradio-field carrega as opções direto de TutorDemoEstadoPedido (auto-query Eloquent), inline.
Estado do pedido
resources/views/tutor/examples/db-radio-check/dbradio.blade.php
<mad-dbradio-field name="estado_radio_id" label="Estado do pedido"
model="TutorDemoEstadoPedido" database="business"
display="{nome}" order-by="ordem" inline />
Checkbox group (DB, CSV)
mad-dbcheckbox-group-field em mode="comma" (default) — salva os ids marcados como CSV numa coluna do registro pai.
Categorias de interesse
resources/views/tutor/examples/db-radio-check/dbcheckbox-group.blade.php
<mad-dbcheckbox-group-field name="categorias_csv" label="Categorias de interesse"
model="TutorDemoCategoria" database="business"
display="{nome}" order-by="nome" layout="vertical" />
Lista ordenável (DB)
mad-dbsort-list-field carrega as categorias do banco e permite reordenar por drag-and-drop.
Ordem de prioridade das categorias
Alimentos
Brinquedos
Eletrônicos
Ferramentas
Livros
Móveis
Papelaria
Vestuário
resources/views/tutor/examples/db-radio-check/dbsort-list.blade.php
<mad-dbsort-list-field name="categorias_ordem" label="Ordem de prioridade das categorias"
model="TutorDemoCategoria" database="business"
display="{nome}" order-by="nome" orientation="vertical" />
Multi compacto +X (DB)
mad-dbselect-check-field mostra checkboxes num dropdown compacto, com contagem +X itens além do max-display.
resources/views/tutor/examples/db-radio-check/dbselect-check.blade.php
<mad-dbselect-check-field name="categorias_compactas" label="Categorias (compacto)"
model="TutorDemoCategoria" database="business"
display="{nome}" order-by="nome" max-display="3" mode="comma" />
Checklist com colunas (DB)
mad-dbchecklist-field lista os clientes com colunas customizadas — filhos são sempre <mad-col>, nunca <mad-checklist-col>.
Clientes selecionados
| Nome | Cidade | UF | |
|---|---|---|---|
| Nenhum item | |||
resources/views/tutor/examples/db-radio-check/dbchecklist.blade.php
<mad-dbchecklist-field name="clientes_checklist" label="Clientes selecionados"
model="TutorDemoCliente" database="business"
display="{nome}" order-by="nome" height="320px">
<mad-col field="nome" label="Nome" />
<mad-col field="cidade" label="Cidade" />
<mad-col field="uf" label="UF" width="60px" center />
</mad-dbchecklist-field>
mode="table" sem fixture de pivot
mad-dbcheckbox-group-field, mad-dbselect-check-field e
mad-dbmulti-search-field (página "Busca") também aceitam
mode="table" — persistência 1:N via pivot-model +
foreign-key + item-key, resolvida automaticamente por
form->save($parent). As fixtures compartilhadas do MAD Lab
(TutorDemoCliente, TutorDemoCategoria, TutorDemoPedido,
TutorDemoPedidoItem) não incluem nenhuma tabela pivot N:N, e criar uma está fora
do escopo deste lote (models/seed compartilhados são somente leitura). Por isso os exemplos
acima ficam em mode="comma", que funciona com as tabelas existentes.Código-fonte completo da página
app/control/Tutor/TutorDbRadioCheck.php
<?php
namespace App\Control\Tutor;
use App\Support\Tutor\TutorPage;
class TutorDbRadioCheck extends TutorPage
{
protected string $catalogKey = 'db_radio_check';
}
resources/views/tutor/db/radio-check.blade.php
<x-tutor-page page="db_radio_check">
<x-tutor-demo demo="tutor.examples.db-radio-check.dbradio"
title="Radio (DB)" desc="mad-dbradio-field carrega as opções direto de TutorDemoEstadoPedido (auto-query Eloquent), inline." />
<x-tutor-demo demo="tutor.examples.db-radio-check.dbcheckbox-group"
title="Checkbox group (DB, CSV)" desc="mad-dbcheckbox-group-field em mode="comma" (default) — salva os ids marcados como CSV numa coluna do registro pai." />
<x-tutor-demo demo="tutor.examples.db-radio-check.dbsort-list"
title="Lista ordenável (DB)" desc="mad-dbsort-list-field carrega as categorias do banco e permite reordenar por drag-and-drop." />
<x-tutor-demo demo="tutor.examples.db-radio-check.dbselect-check"
title="Multi compacto +X (DB)" desc="mad-dbselect-check-field mostra checkboxes num dropdown compacto, com contagem +X itens além do max-display." />
<x-tutor-demo demo="tutor.examples.db-radio-check.dbchecklist"
title="Checklist com colunas (DB)" desc="mad-dbchecklist-field lista os clientes com colunas customizadas — filhos são sempre <mad-col>, nunca <mad-checklist-col>." />
<mad-callout type="warning" title="mode="table" sem fixture de pivot" icon="triangle-alert">
<code>mad-dbcheckbox-group-field</code>, <code>mad-dbselect-check-field</code> e
<code>mad-dbmulti-search-field</code> (página "Busca") também aceitam
<code>mode="table"</code> — persistência 1:N via <code>pivot-model</code> +
<code>foreign-key</code> + <code>item-key</code>, resolvida automaticamente por
<code>form->save($parent)</code>. As fixtures compartilhadas do MAD Lab
(<code>TutorDemoCliente</code>, <code>TutorDemoCategoria</code>, <code>TutorDemoPedido</code>,
<code>TutorDemoPedidoItem</code>) não incluem nenhuma tabela pivot N:N, e criar uma está fora
do escopo deste lote (models/seed compartilhados são somente leitura). Por isso os exemplos
acima ficam em <code>mode="comma"</code>, que funciona com as tabelas existentes.
</mad-callout>
</x-tutor-page>