gpt4 book ai didi

laravel - 在 Laravel 5.6 中同时插入父级和子级

转载 作者:行者123 更新时间:2023-12-02 03:33:08 25 4
gpt4 key购买 nike

我试图在我的 usersuser_details 表中同时插入数据。参见下面的代码:

型号:

class User extends Authenticatable
{
public function user_detail() {
return $this->hasOne('App\UserDetail', 'user_id');
}
}

查看:

<div class="form-group{{ $errors->has('username') ? ' has-error' : ''}}">
{!! Form::label('username', 'Username:* ', ['class' => 'col-md-4 control-label']) !!}
<div class="col-md-6">
{!! Form::text('username', null, ['class' => 'form-control', 'required' => 'required']) !!}
{!! $errors->first('username', '<p class="help-block">:message</p>') !!}
</div>
</div>
...
<div class="form-group{{ $errors->has('user_detail[about_me]') ? ' has-error' : ''}}">
{!! Form::label('user_detail[about_me]', 'About Me: ', ['class' => 'col-md-4 control-label']) !!}
<div class="col-md-6">
{!! Form::textarea('user_detail[about_me]', null, ['class' => 'form-control', 'required' => 'required']) !!}
{!! $errors->first('user_detail[about_me]', '<p class="help-block">:message</p>') !!}
</div>
</div>

Controller :

public function store(Request $request) {
$data = $request->except('password'); //dd($data);
$user = User::create($data);
$user->user_detail->create($data['user_detail']);
}

错误消息:

enter image description here

在上面我已经发布了我的代码(删除了其余字段。仅保留用户表username和user_details about_me)

在我上面的代码中,数据已成功插入到users表中,但插入子表时发生错误。

请查看我的代码并建议我如何在我的子表中插入记录。

最佳答案

错误的代码是$user->user_detail。它必须为 nullUserDetail 实例,因为您现在创建了用户 $user->user_detail 它必须为 null >。您必须使用 $user->user_detail() 而不是 $user->user_detail 。更正后的代码为

public function store(Request $request) 
{
$data = $request->except('password');
$user = User::create($data);
if ($user) {
$user->user_detail()->create($data['user_detail']);
}
}

关于laravel - 在 Laravel 5.6 中同时插入父级和子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51224729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com