【发布时间】:2016-06-19 20:14:09
【问题描述】:
我已经启动并运行了 laravel 'make:auth()' 并且我在迁移中几乎没有修改,即添加了一个名为 'admin' 的布尔字段,默认情况下我将该字段设为 0 。现在我在视图 'Make Admin' 中创建了一个按钮,我希望这个按钮将管理字段从零更新为 1。
我厌倦了下面的内容,但它没有更新 DB 列值。
控制器:
public function makeAdmin($id)
{
$user = User::find($id);
if($user){
$user->admin = '1';
$user->save();
return Redirect::to('/users');
}
}
查看
@extends('layouts.app')
@section('content')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<div class="container">
<div class="row">
<div class="col-md-10 col-md-offset-1">
<div class="panel panel-default">
<div class="panel-heading">All Registered User(s)</div>
<div class="panel-body" id="toPrint">
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Email</th>
<th>Password</th>
<th>Role</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<td>{!! $user->id !!}</td>
<td>{!! $user->name !!}</td>
<td>{!! $user->email !!}</td>
<td>{!! $user->password !!}</td>
<td>
{!! Form::open(array('action'=>'Users@makeAdmin', 'url' => "/users" , 'method' => 'POST')) !!}
{!! Form::hidden('id', $user->id) !!}
<button type="submit" class="btn btn-default">Make Admin</button>
{!! Form::close() !!}
</td>
<td>
{!! Form::open(array('url' => "/users/$user->id/edit" , 'method' => 'GET')) !!}
{!! Form::hidden('id', $user->id) !!}
<button type="submit" class="btn btn-default">Edit</button>
{!! Form::close() !!}
</td>
<td>
{!! Form::open(array('url' => '/users/destroy' , 'method' => 'delete')) !!}
{!! Form::hidden('id', $user->id) !!}
<button type="submit" class="btn btn-default">Delete</button>
{!! Form::close() !!}
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endsection
【问题讨论】:
-
你试过
$user->admin = true;吗? -
这样做
User::find(request-()->id)。