Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 Laravel 5-将数据获取到视图_Laravel 5 - Fatal编程技术网

Laravel 5 Laravel 5-将数据获取到视图

Laravel 5 Laravel 5-将数据获取到视图,laravel-5,Laravel 5,我认为这与通常向视图传递数据的控制器略有不同。我有一个项目,有一个DocumentOne。在我的应用程序中,用户创建一个项目。然后将它们重定向到该项目的显示页面 因此,创建项目后,用户在该项目的显示页面上,我显示项目ID。然后,我提供一个选择菜单,用户可以在其中选择要显示的文档。假设我在ID为1的项目中,然后我决定为这个项目显示DocumentOne。这将显示包含DocumentOne输入的表单 当用户填写表单并提交时,数据将保存到数据库中。项目ID是DocumentOne的外键。以下路线是为D

我认为这与通常向视图传递数据的控制器略有不同。我有一个项目,有一个DocumentOne。在我的应用程序中,用户创建一个项目。然后将它们重定向到该项目的显示页面

因此,创建项目后,用户在该项目的显示页面上,我显示项目ID。然后,我提供一个选择菜单,用户可以在其中选择要显示的文档。假设我在ID为1的项目中,然后我决定为这个项目显示DocumentOne。这将显示包含DocumentOne输入的表单

当用户填写表单并提交时,数据将保存到数据库中。项目ID是DocumentOne的外键。以下路线是为DocumentOne设置的

Route::resource('projects.documentOne', 'DocumentOneController');
现在我有DocumentOne的数据,它链接到ID为1的项目。然而,如果我现在返回到projects show页面,然后再次从下拉列表中选择Document One,我看到的只是一个空表单。这显然是因为控制器是

public function show(Project $project)
{
    return view('projects.show', compact('project'));
}
所以我从不为DocumentOne传递它的数据,因为理论上它不是在项目第一次显示时创建的。我想做的是,当在ProjectsShow页面中选择文档时,用该文档的数据库中的任何内容填充表单。如果数据库中没有任何内容,则表单将为空。我有一个DocumentOne控制器,但我不知道是否可以将其链接到项目显示页面。我正在考虑在DocumentOne控制器中执行类似的操作

public function show(DocumentOne $documentOne)
{
    return view('projects.show', compact('documentOne'));
}
但我不确定这是否有效。希望我没有太困惑,你明白我在尝试什么,希望有人能就如何最好地处理这种情况提供建议


谢谢

在我以前的项目中,我也处理过这样的需求,我想是的。这里是我解决这种需求的解决方案

来自ajax的实际代码调用

路线

    get('setFlashData',function(Request $request){
        $final_response = array();
        $data_information = $request->except('_token');
        $request->session()->flash('cmg_quick_create_data', $data_information);
        if($request->session()->has('cmg_quick_create_data')){
            $final_response['result']['success'] = true;
        }
        return response()->json($final_response);
    });
但根据您的要求:

$data_information = $request->except('_token');
            $request->session()->flash('cmg_quick_create_data', $data_information);
我的基本功能是,从快速创建部分(即弹出式表单)到完整创建表单部分共享表单数据,每当用户从弹出式窗口单击“转到完整表单”按钮时,ajax调用上述功能,该功能将设置闪存数据,而不是在目的地侧,我只检查其是否包含闪存数据。并根据数据进行处理

    @if (Session::has('cmg_quick_create_data')) {
        {!! Form::model(Session::get('cmg_quick_create_data'),["class"=>"form-horizontal","data-parsley-validate"=>"data-parsley-validate",'role'=>'form','files'=>true]) !!}
    @else
        {!! Form::open(["class"=>"form-horizontal","data-parsley-validate"=>"data-parsley-validate",'role'=>'form','files'=>true]) !!}
    @endif
我可以理解这个解决方案可能与您的要求不同,但希望能充分了解您的解决方案。如果我方仍不清楚,期待您的回复