php - Laravel 使用相同的表单来创建和编辑

标签 php forms laravel

我对 Laravel 很陌生,我必须创建一个用于创建的表单和一个用于编辑的表单。在我的表单中,我有很多 jquery ajax 帖子。我想知道 Laravel 是否为我提供了一种简单的方法来使用相同的表单进行编辑和创建,而无需在我的代码中添加大量逻辑。我不想每次在加载表单时为字段赋值时检查是否处于编辑或创建模式。关于如何用最少的代码完成此任务有什么想法吗?

最佳答案

我喜欢使用表单 model binding 这样我就可以轻松地用相应的值填充表单的字段,所以我遵循这种方法(例如使用 user 模型):

@if(isset($user))
    {{ Form::model($user, ['route' => ['updateroute', $user->id], 'method' => 'patch']) }}
@else
    {{ Form::open(['route' => 'createroute']) }}
@endif

    {{ Form::text('fieldname1', Input::old('fieldname1')) }}
    {{ Form::text('fieldname2', Input::old('fieldname2')) }}
    {{-- More fields... --}}
    {{ Form::submit('Save', ['name' => 'submit']) }}
{{ Form::close() }}

因此,例如,在 Controller 中,我基本上使用相同的表单来创建和更新,例如:

// To create a new user
public function create()
{
    // Load user/createOrUpdate.blade.php view
    return View::make('user.createOrUpdate');
}

// To update an existing user (load to edit)
public function edit($id)
{
    $user = User::find($id);
    // Load user/createOrUpdate.blade.php view
    return View::make('user.createOrUpdate')->with('user', $user);
}

关于php - Laravel 使用相同的表单来创建和编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844022/

相关文章:

php - 智能 : how to deploy to two folders?

javascript - 我的 .PHP 文件中的 JQuery 错误

php - 在 URL 中使用 & 符号

javascript - HTML/Javascript 模块

php - 为什么QueryBuilder忽略我的输入参数?

php - GD 和 GD2 图像之间有什么区别?

RESTful Web 服务的 HTML 接口(interface) *无需* javascript

CSS 替换表单的表格布局

MYSQL 嵌套查询到 Laravel Eloquent ORM

php - 创建一个包含关系的 Eloquent 对象