A entidade de plano representa um plano de assinatura vendável pela plataforma. Assim que o processo de compra for finalizado, o plano torna-se uma assinatura.
Dados básicos
Os dados básicos do plano podem ser acessados a partir das seguintes propriedades:
- id
Número de identificação - description
Descrição do plano - amount
Valor de venda do plano - currentCycle
Ciclo atual do plano - subscriptionFeeItem
Item de adesão do plano
Campos extras
Para carregar campos extras deve-se, a partir de uma instância da entidade Plan, chamar a propriedade extraFields
. Essa propriedade contém uma Collection com todos os campos extras relacionados ao plano e seus respectivos valores, onde cada índice da coleção pode ser acessado pelo slug do campo extra. Exemplo:
$plan->extraFields->get('slug')
Para acessar os valores de cada campo extra, a propriedade values
está disponível e retorna uma nova instância do objeto Collection com cada um dos n valores que um item pode ter para o mesmo campo extra. Dessa forma, para acessar os valores dos campos extras de um plano, pode-se fazer:
@foreach($plan->extraFields as $slug => $extraField)
// Label do campo extra
{{$extraField->label}}
// Slug do campo extra que pode ser acessado além do valor encontrado em $slug
{{$extraField->slug}}
// Valores do campo extra
@foreach($extraField->values as $value)
// Para campos de valores simples (texto, numerico) ou valores grandes (textarea, wysiwyg)
{{$value->value}}
// Para campos com opções
{{$value->extraFieldOption->key}}
{{$value->extraFieldOption->label}}
{{$value->extraFieldOption->order}}
// Para campos de relação com entidade, onde 'record' retorna uma instancia da entidade relacionada
{{$value->record->...}
// Para campos de arquivos/imagens, podendo ser combinado com o Thumbor
{{$value->source}}
@endforeach
@endforeach
O exemplo acima mostra como percorrer todos os valores de todos os campos extras através de dois loops. Para pegar os valores para um único campo extra, a instrução pode ser um pouco mais simples. Veja a seguir:
{{ $plan->extraFields->get('slug') }}
O código acima retornará a relação do plano com o campo extra. Caso a relação não exista, ou seja, caso o plano não tenha nenhum valor com esse campo extra, o retorno será vazio (null
). É uma boa prática verificar se a relação é diferente de vazio para prosseguir:
@if(null !== $plan->extraFields->get('slug'))
...
@endif
Uma vez que exista um ou mais valores para o campo extra para o plano a propriedade values
retornará uma coleção com todos esses valores e, como mostrado acima, poderá ser iterado num loop (foreach, for e etc) ou ainda, caso tenha somente um valor, o método first()
da coleção pode ser chamado para pegar o primeiro registro de valor:
@if(null !== $plan->extraFields->get('slug'))
// Para campos de valores simples (texto, numerico) ou valores grandes (textarea, wysiwyg)
{{ $plan->extraFields->get('slug')->values->first()->value }}
// Para campos com opções
{{ $plan->extraFields->get('slug')->values->first()->extraFieldOption->key }}
{{ $plan->extraFields->get('slug')->values->first()->extraFieldOption->label }}
{{ $plan->extraFields->get('slug')->values->first()->extraFieldOption->order }}
// Para campos de relação com entidade, onde 'record' retorna uma instancia da entidade relacionada
{{ $plan->extraFields->get('slug')->values->first()->record->... }}
// Para campos de arquivos/imagens, podendo ser combinado com o Thumbor
{{ $plan->extraFields->get('slug')->values->first()->source }}
@endif
Comentários
0 comentário
Por favor, entre para comentar.