convenia / checklistable by euventura

Make any model checklistable with answer per ID
15,183
7
8
Package Data
Maintainer Username: euventura
Maintainer Contact: victor.ventura@convenia.com.br (Victor Ventura)
Package Create Date: 2017-06-02
Package Last Update: 2018-05-11
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-11-19 03:09:49
Package Statistics
Total Downloads: 15,183
Monthly Downloads: 50
Daily Downloads: 0
Total Stars: 7
Total Watchers: 8
Total Forks: 3
Total Open Issues: 2

checklistable logo

               

Codacy Badge Codacy Badge Build Status GitHub forks Dependencies GitHub Issues Contributions welcome License

Basic Overview

Add checklist in your project associated any model in your project

Install

composer require convenia/checklistable

publish migrations

php artisan vendor:publish --tag="checklistable"

migrate

php artisan migrate

Usage

add a trait

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use Convenia\Checklistable\Traits\ChecklistableTrait;

class ModelClass extends Model
{
    use ChecklistableTrait;    

Checklist Methods

checklist()
// Return ChecklistService Object
ModelClass::checklist($type, $ownerId);  
checklist()->get()
// Return Checklist Model, if not existe will create it
ModelClass::checklist($type, $ownerId)->get();  

Question Methods

checklist()->questions()
// Return QuestionService Object
ModelClass::checklist($type, $ownerId)
    ->questions();  
checklist()->questions()->get()
// Return Collection of questions
ModelClass::checklist($type, $ownerId)
    ->questions()
        ->get();  
checklist()->questions()->fill()
// add and return question in lot (only if empty)
ModelClass::checklist($type, $ownerId)
    ->questions()
    ->fill([]);  
checklist()->questions()->delete()
// delete one question
ModelClass::checklist($type, $ownerId)
    ->questions()
    ->delete($questionId);  
checklist()->questions()->add()
// add one question an d return all
ModelClass::checklist($type, $ownerId)
    ->questions()
    ->add([
        'question' => 'What does Marcellus wallace looks like ?'
    ]);  

Answer Methods

checklist()->answer()
// Return QuestionService Object
ModelClass::checklist($type, $ownerId)
    ->answer();  
checklist()->answer()->get()
// retrive all answers about checklistable, if do not have, fill it
ModelClass::checklist($type, $ownerId)
    ->answer()
    ->get($checklistableId);  
checklist()->answer()->start()
// fill the answers with the questions
ModelClass::checklist($type, $ownerId)
    ->answer()
    ->start($checklistableId);  
checklist()->answer()->answer()
// change answer response
ModelClass::checklist($type, $ownerId)
    ->answer()
    ->start($checklistableId, $answerId, $answer = true)

License

Checklistable is open-sourced software licensed under the MIT license