convenia / checklistable
Make any model checklistable with answer per ID
Installs: 15 188
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 8
Forks: 3
Open Issues: 2
Requires
- php: >=7
- illuminate/support: ~5.2|~5.3|~5.4|~5.5
Requires (Dev)
- codacy/coverage: ^1.0
- friendsofphp/php-cs-fixer: ^1.13
- mockery/mockery: ^0.9.4
- orchestra/testbench: ~3.0
- phpunit/phpunit: ^4.0|^5.0|^6.0
This package is not auto-updated.
Last update: 2024-11-17 05:52:02 UTC
README
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