Php 在用户创建时附加关系(Laravel 5.4)
我遇到了一个问题,当我尝试在用户创建上附加一个学校id时,我得到了一个Php 在用户创建时附加关系(Laravel 5.4),php,laravel,eloquent,laravel-5.4,Php,Laravel,Eloquent,Laravel 5.4,我遇到了一个问题,当我尝试在用户创建上附加一个学校id时,我得到了一个NULL值。学校与用户有很多关系 这是我的UserController存储函数: public function store(Request $request) { $user->school_id = $request->school_id; $user = User::create($request->all()); $user->attachRole(Role::whe
NULL
值。学校与用户有很多关系
这是我的UserController存储函数:
public function store(Request $request)
{
$user->school_id = $request->school_id;
$user = User::create($request->all());
$user->attachRole(Role::where('id', $request->role)->first());
return redirect()->route('user.index');
}
视图:
沃尔格斯科尔
@foreach($schools作为$school)
{{$school->name}
@endforeach
您正在分配$user->school\u id
,然后在分配$user
时重写所有内容。这可能会抛出一个错误,因为当您第一次尝试使用它时,$user
没有定义。@aynber将$user->school\u id放在$user=user::create($request->all())下;也不起作用?不一定与您的问题相关,但Role::where('id',$request->Role)->first()
可以更改为Role::find($request->Role)
如果要保留设置,您需要在分配用户模型后保存它。它不会自动保存。谢谢!我调用了$user->save();成功了!:D
<div class="form-group">
<select class="form-control" name="school_id" required>
<option disabled selected>Vælg skole</option>
@foreach ($schools as $school)
<option value="{{ $school->id }}">{{ $school->name }}</option>
@endforeach
</select>
</div>