我对 Laravel 很陌生,我必须创建一个用于创建的表单和一个用于编辑的表单。在我的表单中,我有很多 jquery ajax 帖子。我想知道 Laravel 是否确实为我提供了一种简单的方法来使用相同的表单进行编辑和创建,而无需在我的代码中添加大量逻辑。我不想每次在表单加载时为字段分配值时检查是否处于编辑或创建模式。关于如何以最少的编码完成此任务的任何想法?
原文由 Kevin Joymungol 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对 Laravel 很陌生,我必须创建一个用于创建的表单和一个用于编辑的表单。在我的表单中,我有很多 jquery ajax 帖子。我想知道 Laravel 是否确实为我提供了一种简单的方法来使用相同的表单进行编辑和创建,而无需在我的代码中添加大量逻辑。我不想每次在表单加载时为字段分配值时检查是否处于编辑或创建模式。关于如何以最少的编码完成此任务的任何想法?
原文由 Kevin Joymungol 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是使用相同表单创建或编辑记录的简单方法。我已经为创建和编辑创建了 form.blade.php 文件
@extends('layouts.admin')
@section('content')
<div class="card shadow mb-4">
<div class="card-header py-3 d-flex justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Create User</h6>
</div>
<div class="card-body">
<form method="post" action="{{isset($user)? route('users.update',$user->id):route('users.store')}}">
@csrf
@if (isset($user))
@method('PUT')
@endif
<div class="row mb-3">
<div class="col-md-4">
<label>Name</label>
<input class="form-control @error('name') is-invalid @enderror" value="{{isset($user->name) ? $user->name: old('name')}}" type="text" name="name" required>
@error('name')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-4">
<label>Email address</label>
<input class="form-control @error('email') is-invalid @enderror" value="{{isset($user->email) ? $user->email:old('email')}}" type="email" name="email" required>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="col-md-4">
<label>Password</label>
<input class="form-control @error('password') is-invalid @enderror" value="{{old('password')}}" type="text" name="password" required>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="col-md-3">
<button class="btn btn-sm btn-success btn-icon-split">
<span class="text">Save</span>
</button>
<a href="{{route('users.index')}}" class="btn btn-sm btn-dark btn-icon-split">
<span class="text">Cancel</span>
</a>
</div>
</form>
</div>
</div>
@endsection
在我的控制器中
public function create()
{
return view('admin.user.form');
}
public function edit($id){
$user= User::find($id);
return view('admin.user.form', compact('user'));
}
原文由 Hafiz Azeem 发布,翻译遵循 CC BY-SA 4.0 许可协议
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答577 阅读✓ 已解决
786 阅读
我喜欢使用
model binding
这样我可以轻松地用相应的值填充表单的字段,所以我遵循这种方法(例如使用user
模型):所以,例如,从一个控制器,我基本上使用相同的形式来创建和更新,比如: