Skip to content

Commit

Permalink
Change the "setModel" method name of the Step class to "model"
Browse files Browse the repository at this point in the history
  • Loading branch information
ycs77 committed Oct 14, 2019
1 parent d0962cd commit 5a8bbab
Show file tree
Hide file tree
Showing 6 changed files with 42 additions and 30 deletions.
24 changes: 12 additions & 12 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Wizard::routes('wizard/user', 'UserWizardController', 'wizard.user');
### 2. Set steps

This is generated NameStep class, you can to `setModel` method get the model, to `rules` method set form validation, and save `$data` to your database via the `saveData` method:
This is generated NameStep class, you can to `model` method set the model, to `rules` method set form validation, and save `$data` to your database via the `saveData` method:

*app/Steps/User/NameStep.php*
```php
Expand Down Expand Up @@ -94,19 +94,19 @@ class NameStep extends Step
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return void
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function setModel(Request $request)
public function model(Request $request)
{
$this->model = User::find(1);
return User::find(1);
}

/**
* Save this step form data.
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
public function saveData(Request $request, $data = null, $model = null)
Expand Down Expand Up @@ -192,9 +192,9 @@ protected $wizardOptions = [

If you want to customize the wizard base view, you can copy the view to `resources/views/user`. (`user` is `wizardName` property value on wizard controller),

### Set step relationships model
### Set relationships model of the step

Similarly, you can set the relationships model in `setModel` method of `Step`.
Similarly, you can set the relationships model in `model` method of the `Step`.

```php
use Illuminate\Support\Arr;
Expand All @@ -203,22 +203,22 @@ use Illuminate\Support\Arr;
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return void
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function setModel(Request $request)
public function model(Request $request)
{
$this->model = $request->user()->posts();
return $request->user()->posts();
}

/**
* Save this step form data.
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
public function saveData(Request $request, $data = null,$model = null)
public function saveData(Request $request, $data = null, $model = null)
{
$data = Arr::only($data, ['title', 'content']);
$model->create($data);
Expand Down
8 changes: 4 additions & 4 deletions src/Console/stubs/step.stub
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ class DummyClass extends Step
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return void
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function setModel(Request $request)
public function model(Request $request)
{
// $this->model =
//
}

/**
* Save this step form data.
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
public function saveData(Request $request, $data = null, $model = null)
Expand Down
5 changes: 3 additions & 2 deletions src/Http/Controllers/WizardController.php
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public function store(Request $request, string $step)
if ($this->wizard()->option('cache')) {
$step->cacheProgress($request);
} else {
$step->saveData($request, $step->getRequestData($request), $step->model());
$step->saveData($request, $step->getRequestData($request), $step->getModel());
}

// Wizard step saved event.
Expand Down Expand Up @@ -325,6 +325,7 @@ protected function getLastProcessedStepIndex(Request $request)
*/
protected function getWizardStep(Request $request, $slug)
{
/** @var \Ycs77\LaravelWizard\Step|null $step */
try {
if (isset($slug)) {
$step = $this->wizard()->stepRepo()->find($slug);
Expand Down Expand Up @@ -406,7 +407,7 @@ protected function save(Request $request)
/** @var \Ycs77\LaravelWizard\Step $step */
foreach ($this->wizard()->stepRepo()->all() as $step) {
$step->setModel($request);
$step->saveData($request, $step->data(), $step->model());
$step->saveData($request, $step->data(), $step->getModel());
}

$data = $this->wizard()->cache()->get();
Expand Down
19 changes: 15 additions & 4 deletions src/Step.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ abstract class Step
/**
* The step model instance or the relationships instance.
*
* @var \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null
* @var \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
protected $model;

Expand Down Expand Up @@ -121,9 +121,9 @@ public function view()
/**
* Get the step model instance or the relationships instance.
*
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function model()
public function getModel()
{
return $this->model;
}
Expand All @@ -135,6 +135,17 @@ public function model()
* @return void
*/
public function setModel(Request $request)
{
$this->model = $this->model($request);
}

/**
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function model(Request $request)
{
//
}
Expand All @@ -144,7 +155,7 @@ public function setModel(Request $request)
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
abstract public function saveData(Request $request, $data = null, $model = null);
Expand Down
8 changes: 4 additions & 4 deletions tests/Stubs/PostStepStub.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@ class PostStepStub extends Step
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return void
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function setModel(Request $request)
public function model(Request $request)
{
$this->model = $request->user()->posts();
return $request->user()->posts();
}

/**
* Save this step form data.
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
public function saveData(Request $request, $data = null, $model = null)
Expand Down
8 changes: 4 additions & 4 deletions tests/Stubs/UserStepStub.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,19 +33,19 @@ class UserStepStub extends Step
* Set the step model instance or the relationships instance.
*
* @param \Illuminate\Http\Request $request
* @return void
* @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null
*/
public function setModel(Request $request)
public function model(Request $request)
{
$this->model = $request->user();
return $request->user();
}

/**
* Save this step form data.
*
* @param \Illuminate\Http\Request $request
* @param array|null $data
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\relation|null $model
* @param \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Relations\Relation|null $model
* @return void
*/
public function saveData(Request $request, $data = null, $model = null)
Expand Down

0 comments on commit 5a8bbab

Please sign in to comment.