为了账号安全,请及时绑定邮箱和手机立即绑定

如何在创建后使用 Laravel 显示数据库中最后插入的 id

如何在创建后使用 Laravel 显示数据库中最后插入的 id

PHP
慕妹3242003 2023-10-01 17:26:05
患者控制器: public function store(Request $request)    {            $input = request()->all();        Patient::create($input);        dd($input->id);        // return redirect()->route('medical.create',compact('input'));           }这是我的medical.create视图{!! Form::model($input, [    'method' => 'POST',    'action' => ['MedicalController@store', $input->id]]) !!}        <div class="row">                <div class="col-md-4">                                            <div class="form-group">                        {{Form::label('patient_id','Patient no:')}}                        {{Form::text('patient_id', null, array('class' => 'form-control') )}}                        </div>                </div>                        </div>                   {!! Form::close() !!}我想在存储后获取最后插入的 id,并在下一个表单中显示最后一个 id,但这是我的屏幕上出现的错误:Trying to get property 'id' of non-object这是我的病人表:
查看完整描述

4 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

您可以通过Patient在创建对象时将对象保存在变量中来做到这一点:


public function store(Request $request)

    {

        $input = request()->all();

        $patient = Patient::create($input); // Save it in variable

        dd($patient->id); //Now you can access patient id here

        // return redirect()->route('medical.create',compact('patient')); //Also you can pass it to your view

       

    }


查看完整回答
反对 回复 2023-10-01
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

您可以像下面的代码一样使用 id,并且代码中的更改最少


    $input = request()->all();

    $input = Patient::create($input);

    dd($input->id);

    // return redirect()->route('medical.create',compact('input'));


查看完整回答
反对 回复 2023-10-01
?
跃然一笑

TA贡献1826条经验 获得超6个赞

重定向时不能使用紧凑。尝试这个:


患者控制器:


 public function store(Request $request)

    {

    

        $input = request()->all();

        $patient = Patient::create($input);

        $patient = DB::table('patients')->get()->last();

        return redirect()->route('medical.create')->with('patient_id', $patient->id);

       

    }

这是我的medical.create视图


{!! Form::model($input, [

    'method' => 'POST',

    'action' => ['MedicalController@store', session('patient_id')]

]) !!}

        <div class="row">

                <div class="col-md-4">

                    

                        <div class="form-group">

                        {{Form::label('patient_id','Patient no:')}}

                        {{Form::text('patient_id', null, array('class' => 'form-control') )}}

                        </div>


                </div>

                

        </div>

      


             {!! Form::close() !!}


查看完整回答
反对 回复 2023-10-01
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

您可以通过批量分配保存数据后检索 id:


 public function store(Request $request)

    {

        $input = request()->all();

        $patient = new Patient($input); // fill model with mass assignments

        $patient->save() // save instant

        $id = $patient->id; //retrive id

       

    }


查看完整回答
反对 回复 2023-10-01
  • 4 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信