使用Auth :: user()填充表单

时间:2015-06-09 19:20:45

标签: php database forms eloquent laravel-5

我正在尝试使用我登录的用户填充表单,以便我可以编辑一些个人资料信息。

我目前有这段代码(只是尝试首先显示电子邮件,一旦有效,将填充表单):

我用:

创建了一个editprofile.blade.php模板
@extends('masterpage')

@section('content')

<h1> Edit Profile </h1>


{{ Form::model($user) }}

    <div class="form-group">
        {{ Form::label('email', 'E-mail') }}
        {{ Form::Text('email', null, ['class' => 'form-control']) }}
    </div>
{{ Form::close() }}

@stop

在myProfileController.php中我有:

<?php namespace App\Http\Controllers;

use Auth; 
use App\Http\Requests;
use App\Http\Controllers\Controller;

use Illuminate\Html\FormFacade;
use Illuminate\Html\HtmlFacade;

class ProfileController extends Controller {

    public function show() {
        $user = Auth::user();

        return view('pages.editprofile')->withUser($user);
    }

}

在我的路线中,我补充道:

Route::get('/profile/edit', 'ProfileController@show');

但是当我尝试加载页面时,我得到了这个: enter image description here

我有两个问题:

1:为什么没有表格显示数据?正如您所看到的那样,电子邮件正在加载到表单中,但它会将其显示为文本。

2. 一旦数据加载到成功的表单中并且用户编辑了一些数据,我将如何进行更新功能以保存编辑的数据?

1 个答案:

答案 0 :(得分:5)

我认为您只是输出原始数据,因为您可能正在使用双括号{{}}。

我记得当我将一个站点从laravel 4迁移到laravel 5时我有同样的事情。他们改变了刀片输出的方式并回显了数据。尝试将双括号{{}}更改为此{{!! !!}}或此{{{}}}我不记得究竟是哪一个。

编辑:关于保存你可以使用控制器,所以当用户发布数据时,它只是使用post方法转到类似的url,所以它调用控制器内的更新功能。

对于某些用户应完全控制其个人资料的功能,如编辑,更新,删除,创建我会使用此http://laravel.com/docs/5.0/controllers#restful-resource-controllers中的示例来看一下宁静的控制器