首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法更新laravel 5.2中的数据

无法更新laravel 5.2中的数据
EN

Stack Overflow用户
提问于 2016-08-05 23:54:18
回答 2查看 1.4K关注 0票数 1

我有两个数据库: 1.用户(名称、用户名、密码、remember_token、admin);2. dosen (iddosen、user_id、namadosen、nipy等)

我想更新数据,但是当我单击“保存”时,它不会更新到数据库。单击“保存”时没有错误。

在编辑视图中,我使用关系

代码语言:javascript
复制
 {!! Form::model($user->dosen, ['route' => ['admin.dosen.update', $user->dosen->user\_id], 'method' => 'PUT']) !!}

这是我的方法:

代码语言:javascript
复制
public function update($id)
{
    $userUpdate = Request::all();
    $user = User::find($id);
    $user->update($userUpdate);
    return redirect('admin/dosen')->with('message', 'Data berhasil diubah!');
}

编辑视图:

代码语言:javascript
复制
@extends('layouts.app')
@section('content')

<div class="container">
<div class="row">
    <div class="col-md-10 col-md-offset-1">
        <div class="panel panel-default">
            <div class="panel-heading">Edit {{ $user->dosen->namadosen }}</div>

            <div class="panel-body">
                <!-- jika terjadi error, akan menampilkan pesan -->
                        @if ($errors->any())
                            <ul class="alert alert-danger">
                            @foreach ($errors->all() as $error)
                                <li>{{ $error }}</li>
                            @endforeach
                            </ul>
                        @endif

                        {!! Form::model($user->dosen, ['route' => ['admin.dosen.update', $user->dosen->user_id], 'method' => 'PUT']) !!}

                            <div class="form-group">
                                {!! Form::label('iddosen', 'Kode Dosen') !!}
                                {!! Form::text('iddosen', null, ['class' => 'form-control', 'readonly' => 'true']) !!}
                            </div>

                            <div class="form-group">
                                {!! Form::label('nipy', 'NIPY') !!}<br>
                                {!! Form::text('nipy', null, ['class' => 'form-control']) !!}
                            </div>

                            <div class="form-group">
                                {!! Form::label('namadosen', 'Nama Dosen') !!}
                                {!! Form::text('namadosen', null, ['class' => 'form-control']) !!}
                            </div>

                            <div class="form-group">
                                {!! Form::label('alamatdosen', 'Alamat') !!}
                                {!! Form::textarea('alamatdosen', null, ['class' => 'form-control']) !!}
                            </div>

                             <div class="form-group">
                                {!! Form::label('notelpdosen', 'No HP Dosen') !!}
                                {!! Form::text('notelpdosen', null, ['class' => 'form-control']) !!}
                            </div>

                             <div class="form-group">
                                {!! Form::label('tempatlahirdosen', 'Tempat & Tanggal Lahir') !!}
                                <div class="form-inline">
                                {!! Form::text('tempatlahirdosen', null, ['class' => 'form-control']) !!}
                                {!! Form::text('tanggallahirdosen', null, ['class' => 'form-control']) !!}
                            </div>
                            </div>



                            {{ Form::button('<i class="fa fa-check-square-o"></i> Simpan', ['type' => 'submit', 'class' => 'btn btn-primary'] )  }}
                            <a class="btn btn-small btn-success" href="{{ URL('dosen/') }}"><i class="fa fa-reply"></i> Kembali</a>

                        {!! Form::close() !!}

                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
</div>
@endsection
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-06 04:40:47

从表单上看,您希望更新的是dosen表,而不是user表。你必须明确地这样做。$user->update()只更新name, username, password字段。

因此,应该返回关系,然后更新它。

代码语言:javascript
复制
public function update($id)
{
    $dosenUpdate = Request::all();
    $user = User::find($id);
    $user->dosen()->update($dosenUpdate);
    return redirect('admin/dosen')->with('message', 'Data berhasil diubah!');
}
票数 2
EN

Stack Overflow用户

发布于 2016-08-06 03:52:15

看起来在user表中缺少了updated_at列。因此,让我们尝试添加带有"DATETIME“数据类型的updated_at列,并再次测试它。

您还应该检查应用程序的错误日志文件中的消息。它通常是在虚拟主机中配置的,或者是Apache的默认错误日志文件。

此外,您应该检查是否已经在config/app.php中启用了调试模式,以查看错误消息。

代码语言:javascript
复制
'debug' => env('APP_DEBUG', true),

如果是这样,错误消息将存储在存储/log/laravel.log中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38799226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档