【发布时间】:2020-09-10 07:43:36
【问题描述】:
我正在使用这个库:https://www.laravelplay.com/packages/ycs77::laravel-wizard
我完成了所有步骤,得到的结果与示例中的相同。
我正在尝试从数据库获取数据到每个步骤。
模型(App/steps/intro/DropboxStep.php):
<?php
namespace App\Steps\Intro;
use Illuminate\Http\Request;
use Ycs77\LaravelWizard\Step;
use DB;
class DropboxStep extends Step
{
/**
* The step slug.
*
* @var string
*/
protected $slug = 'dropbox';
/**
* The step show label text.
*
* @var string
*/
protected $label = 'Dropbox';
/**
* The step form view path.
*
* @var string
*/
protected $view = 'steps.intro.dropbox';
/**
* 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)
{
//
}
/**
* 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
* @return void
*/
public function saveData(Request $request, $data = null, $model = null)
{
//
}
/**
* Validation rules.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function rules(Request $request)
{
return [];
}
public function getOptions()
{
$stepa2 = DB::table('tutorials')->where('id', '2')->first();
return [
'stepa2' => $stepa2,
'Lucas',
];
}
}
查看:
<div class="form-group">
{{ $stepa2 }}
</div>
结果: 未定义变量:stepa2
也通过控制器尝试过 (IntroWizardController.php)
这是默认控制器:
<?php
namespace App\Http\Controllers;
use App\Steps\Intro\DropboxStep;
use App\Steps\Intro\H2NStep;
use App\Steps\Intro\PT4Step;
use Ycs77\LaravelWizard\Wizardable;
use DB;
class IntroWizardController extends Controller
{
use Wizardable;
/**
* The wizard name.
*
* @var string
*/
protected $wizardName = 'intro';
/**
* The wizard title.
*
* @var string
*/
protected $wizardTitle = 'Intro';
/**
* The wizard options.
*
* @var array
*/
protected $wizardOptions = [];
/**
* The wizard steps instance.
*
* @var array
*/
protected $steps = [
DropboxStep::class,
H2NStep::class,
PT4Step::class,
];
}
我补充说:
public function getOptions()
{
$stepa2 = DB::table('tutorials')->where('id', '2')->first();
return [
'stepa2' => $stepa2,
'Lucas',
];
}
在控制器返回视图中也尝试过,但后来我从空白页面中的数据库中获取结果,而不是其他部分。
是否可以通过数据库查询来查看这个库? 谢谢
编辑: 使用这条路线:
Route::get('wizard/intro/dropbox', 'IntroWizardController@step1a', 'wizard.intro.dropbox');
Wizard::routes('wizard/intro', 'IntroWizardController', 'wizard.intro');
【问题讨论】:
-
用那个 getOptions() 你只得到那个数组 ['stepa2', 'Lucas'] 对吗?你想要风景吗?
-
仅来自示例。我的目标是从数据库( DB::table('tutorials')->where('id', '2')->first(); )中获取结果以查看(每个步骤都有不同的刀片)
-
好的,但是当你到达那条路线时你想要一个 json 还是你想要一个实际的 html (blade.view)?
-
我想通过查看。
-
Wizard::routes('wizard/intro', 'IntroWizardController', 'wizard.intro');在 web.php 我有这条路线