将数据从视图传递给控制器​​,其中数据来自另一个控制器

所以,我有 2 个视图和 2 个控制器。第一个视图,我们称之为“A”,包含在注册帐户时获取所有用户信息的表单。提交后,第一个控制器,我们称之为“X”将把这些信息输入作为数组捕获,然后返回我的第二个视图,让我们通过这些数组将其称为“B”。最后这个 B 将向用户展示已经输入的内容,作为评论。

所以这就像:

视图 A => 控制器 X => 视图 B => 控制器 Y => 数据库

A 视图:

http://img.mukewang.com/61a09c0c00014b4904390621.jpg

http://img2.mukewang.com/61a09c1600019dac04380636.jpg

很抱歉向您展示那些没有代码的图像,但我相信,您只需查看我的 X 控制器即可了解结构。


X 控制器:


public function storeRegister(Request $request)

{   

    $validator = Validator::make($request->all(), [

        'name' => ['required', 'string', 'max:255', 'regex:/^[a-zA-Z ]+$/'],

        'gender' => ['required', 'string'],

        'birth_place' => ['required', 'string', Rule::notIn(['', '0'])],

        'birth_date' => ['required', 'date', 'date_format:Y-m-d', 'after:1900-01-01', 'before:today'],

        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],

        'phone_number' => ['required', 'string', 'min:9', 'max:15', 'regex:/^[0-9]+$/', 'unique:users'],

        'address_province' => ['required', 'string', Rule::notIn(['', '0'])],

        'address_regency' => ['required', 'string', Rule::notIn(['', '0'])],

        'address_district' => ['required', 'string', Rule::notIn(['', '0'])],

        'specify_address' => ['required', 'string', 'max:75'],

        'package_plan' => ['required', 'string'],

    ]);


    if($validator->fails()) {

        return back()->withErrors($validator)->withInput();

    }

    else {

        $user = new User();

        $user->package_plan = $request->get('package_plan');

        $user->name = $request->get('name');

        $user->gender = $request->get('gender');

        $user->birth_place = DB::table('provinces')

        ->where('id', $request['birth_place'])->pluck('name');

        $user->birth_date = $request->get('birth_date');

        $user->address_province = DB::table('provinces')

        return view('layouts.pages.review')->with('data', $data);

    }

}

如您所见,我将 $data 传递给我的 B 视图。在我的 B 视图中,用户可以看到前一个表单中的所有值,所以如果有错别字或类似的东西,他们可以返回并在提交到数据库之前修复它。


元芳怎么了
浏览 171回答 1
1回答

暮色呼如

您需要进行隐藏输入才能将数据传递给您的控制器<div id="review" class="form-wrapper text-center">&nbsp; &nbsp; <div class="form-group-reg">&nbsp; &nbsp; &nbsp; &nbsp; .....&nbsp; &nbsp; &nbsp; &nbsp; <p>Tempat Lahir : <span id="birth_place-rev">{{$data['birth_place']}}</span></p>&nbsp; &nbsp; &nbsp; &nbsp; <input type="hidden" name="birth_place" value="{{$data['birth_place']}}">&nbsp; &nbsp; &nbsp; &nbsp; .....&nbsp; &nbsp; </div></div>您应该对 Controllyer Y 上的隐藏输入应用验证检查,以防它们被修改。
打开App,查看更多内容
随时随地看视频慕课网APP