Add checklist in your project associated any model in your project
composer require convenia/checklistablephp artisan vendor:publish --tag="checklistable"php artisan migratenamespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Convenia\Checklistable\Traits\ChecklistableTrait;
class ModelClass extends Model
{
use ChecklistableTrait; // Return ChecklistService Object
ModelClass::checklist($type, $ownerId); // Return Checklist Model, if not existe will create it
ModelClass::checklist($type, $ownerId)->get(); // Return QuestionService Object
ModelClass::checklist($type, $ownerId)
->questions(); // Return Collection of questions
ModelClass::checklist($type, $ownerId)
->questions()
->get(); // add and return question in lot (only if empty)
ModelClass::checklist($type, $ownerId)
->questions()
->fill([]); // delete one question
ModelClass::checklist($type, $ownerId)
->questions()
->delete($questionId); // add one question an d return all
ModelClass::checklist($type, $ownerId)
->questions()
->add([
'question' => 'What does Marcellus wallace looks like ?'
]); // Return QuestionService Object
ModelClass::checklist($type, $ownerId)
->answer(); // retrive all answers about checklistable, if do not have, fill it
ModelClass::checklist($type, $ownerId)
->answer()
->get($checklistableId); // fill the answers with the questions
ModelClass::checklist($type, $ownerId)
->answer()
->start($checklistableId); // change answer response
ModelClass::checklist($type, $ownerId)
->answer()
->start($checklistableId, $answerId, $answer = true)Checklistable is open-sourced software licensed under the MIT license
