加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – 如何在laravel 5.2中更新数据库表

发布时间:2020-12-14 19:43:00 所属栏目:大数据 来源:网络整理
导读:我在laravel 5.2中创建了一个项目.在那个“myform.blade.php”页面中,创建了用于注册用户的表单.注册后,它将以表格格式显示当前用户(“index.blade.php”).在那里,我给了两个动态按钮,如桌子内的下降.一个用于编辑,另一个用于编辑/查看.当我点击删除按钮时,
我在laravel 5.2中创建了一个项目.在那个“myform.blade.php”页面中,创建了用于注册用户的表单.注册后,它将以表格格式显示当前用户(“index.blade.php”).在那里,我给了两个动态按钮,如桌子内的下降.一个用于编辑,另一个用于编辑/查看.当我点击删除按钮时,它将从主数据库(employeeID)作为参考ID删除数据库中的相应行,它正常工作.如果我点击编辑/查看按钮,它将重定向到“edit.blade.php”.在那里我创建了与myform.blade.php相同的表单.如果我们想编辑细节,我们可以从那里编辑.我可以从数据库中获取数据到我在“edit.blade.php”中创建的表单.但是我不知道如何在不重新插入相同数据的情况下更新数据(这是不可能的,因为它会通过尝试插入重复的主键来创建完整性约束违规.任何人都可以告诉我如何进行更新回复很明显.

“myform.blade.php”是

@extends('app')

@section('content')

    <div class="templatemo-content-wrapper">
        <div class="container">
            <ol class="breadcrumb">
                <li><a href="{{ url("/") }}"><font color="green">Home</font></a></li>
                <li class="active">Employee Form</li>
            </ol>
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <div class="panel panel-success">
                        <div class="panel-heading">Employee Form</div>
                        <div class="panel-body">
                            @if (count($errors) > 0)
                                <div class="alert alert-danger">
                                    <strong>Whoops!</strong> There were some problems with your input.<br><br>
                                    <ul>
                                        @foreach ($errors->all() as $error)
                                            <li>{{ $error }}</li>
                                        @endforeach
                                    </ul>
                                </div>
                            @endif

                            <form class="form-horizontal" role="form" method="POST" action="{{ url('myform/myform/') }}">
                                <input type="hidden" name="_token" value="{{ csrf_token() }}">

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Employee ID</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="employeeID" value="{{ old('employeeID') }}" placeholder="Enter employee ID">
                                    </div>
                                </div>


                                <div class="form-group">
                                    <label class="col-md-4 control-label">E_number</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="employeeNo" value="{{ old('employeeNo') }}" placeholder="Enter employee number">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Name</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="Cname" value="{{ old('Cname') }}" placeholder="Enter Contact Name">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">DOB</label>
                                    <div class="col-md-6">
                                        <input type="date" class="form-control" name="dob" value="{{ old('dob') }}" placeholder="Enter date of birth">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Contact Phone</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="phoneNumber" value="{{ old('phoneNumber') }}" placeholder="Enter Mobile Number">
                                    </div>
                                </div>



                                <div class="form-group">
                                    <label class="col-md-4 control-label">Address</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="address" value="{{ old('address') }}" placeholder="Enter Address">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <div class="col-md-6 col-md-offset-4">
                                        <button type="submit" class="btn btn-warning">
                                            Save
                                        </button>
                                    </div>
                                </div>

                                <a href="{{ url('myform/index') }}">view Data</a>

                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>


@endsection

“index.blade.php”是

@extends('app')

@section('content')


    <div class="templatemo-content-wrapper" xmlns="http://www.w3.org/1999/html">
        <ol class="breadcrumb">
            <li><a href="{{ url("/") }}"><font color="green">Home</font></a></li>
            <li class="active">user information</li>
        </ol>
        <div class="templatemo-content">

            <h1>View/Edit user information</h1>

            <div>
                <div>
                    <div>

                        <table id="example" class="table table-striped table-hover table-bordered" bgcolor="#fff8dc">
                            <thead>
                            <tr>
                                <th>Employee ID</th>
                                <th>Employee No</th>
                                <th>Contact Name</th>
                                <th>Date of birth</th>
                                <th>Mobile number</th>
                                <th>address</th>

                            </tr>
                            </thead>
                            <tbody>

                            {{--{{ UserController::getIndex() }}--}}
                            @foreach($employer as $emp)
                                <tr>
                                    <td>{{ $emp->employeeID }}</td>
                                    <td>{{ $emp->employeeNo }}</td>
                                    <td>{{ $emp->Cname }}</td>
                                    <td>{{ $emp->dob }}</td>
                                    <td>{{ $emp->phoneNumber }}</td>
                                    <td>{{ $emp->address }}</td>


                                    <td>
                                        {{--@if ( in_array($nam->isActive,array('Yes','No')) )--}}

                                        <div class="btn-group">
                                            <button type="button" class="btn btn-info">Action</button>
                                            <button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown">
                                                <span class="caret"></span>
                                                <span class="sr-only">Toggle Dropdown</span>
                                            </button>
                                            <ul class="dropdown-menu" role="menu">
                                                {{--@if ($nam->isActive == 'Yes')--}}
                                                <li data-toggle="modal" data-target="#acceptModal" data-bookingid="{{ $emp->employeeID }}"><a href="{{ url('myform/edit/'.$emp->employeeID) }}">View/ Edit</a>
                                                </li>
                                                {{--@endif--}}
                                                <li><a href="{{ url('/myform/delete/'.$emp->employeeID)}}">Delete</a></li>
                                            </ul>
                                        </div>
                                        {{--@endif--}}
                                    </td>
                                </tr>
                            @endforeach
                            </tbody>
                        </table>
                        {{$employer->links()}}
                    </div>
                </div>
            </div>
        </div>
    </div>


    {{--<a href="{{ url('user/add') }}"> <input type="submit" id="add" name="add" value="Edit" class="button"></a>--}}

    </br>




    <h4>Create a new Employee</h4>
    {{--<form class="templatemo-preferences-form" role="form" method="POST" action="{{ action('UserController@save') }}">--}}
    {{--<input type="hidden" name="_token" value="{{ csrf_token() }}">--}}

    <form role="form" method="POST" action="{{ url('myform/index') }}">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">


        <div class="row">
            <div class="col-md-6 margin-bottom-15">

                <input type="text" class="form-control" name="employeeID" value="{{ old('employeeID') }}" placeholder="Enter employee ID">
            </div>
            <div class="row templatemo-form-buttons">
                <div class="submit-button">
                    <button type="submit" class="btn btn-primary">New</button>

                </div>
            </div>
        </div>
    </form>
    {{--</form>--}}


    <script type="text/javascript">
        $(document).ready(function() {
            $('#example').dataTable();
        } );
    </script>


@endsection

“edit.blade.php”是

@extends('app')

@section('content')

    <div class="templatemo-content-wrapper">
        <div class="container">
            <ol class="breadcrumb">
                <li><a href="{{ url("/") }}"><font color="green">Home</font></a></li>
                <li class="active">Employee Form</li>
            </ol>
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <div class="panel panel-success">
                        <div class="panel-heading">Employee Form</div>
                        <div class="panel-body">
                            @if (count($errors) > 0)
                                <div class="alert alert-danger">
                                    <strong>Whoops!</strong> There were some problems with your input.<br><br>
                                    <ul>
                                        @foreach ($errors->all() as $error)
                                            <li>{{ $error }}</li>
                                        @endforeach
                                    </ul>
                                </div>
                            @endif

                            <form class="form-horizontal" role="form" method="POST" action="{{ url('myform/myform/') }}">
                                <input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach($user as $use)
                                <div class="form-group">
                                    <label class="col-md-4 control-label">Employee ID</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="employeeID" value="{{ $use->employeeID }}" placeholder="Enter employee ID">
                                    </div>
                                </div>


                                <div class="form-group">
                                    <label class="col-md-4 control-label">E_number</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="employeeNo" value="{{ $use->employeeNo}}" placeholder="Enter employee number">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Name</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="Cname" value="{{ $use->Cname }}" placeholder="Enter Contact Name">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">DOB</label>
                                    <div class="col-md-6">
                                        <input type="date" class="form-control" name="dob" value="{{ $use->dob }}" placeholder="Enter date of birth">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <label class="col-md-4 control-label">Contact Phone</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="phoneNumber" value="{{ $use->phoneNumber }}" placeholder="Enter Mobile Number">
                                    </div>
                                </div>



                                <div class="form-group">
                                    <label class="col-md-4 control-label">Address</label>
                                    <div class="col-md-6">
                                        <input type="text" class="form-control" name="address" value="{{ $use->address }}" placeholder="Enter Address">
                                    </div>
                                </div>

                                <div class="form-group">
                                    <div class="col-md-6 col-md-offset-4">
                                        <button type="submit" class="btn btn-warning"><a href="{{ url('myform/update/'.$use->employeeID) }}">
                                            Update</a>
                                        </button>
                                    </div>
                                </div>

                                {{--<a href="{{ url('myform/index') }}"> <input type="button" id="add" name="add" value="View data" class="button"></a>--}}

    @endforeach
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endsection

“myformController.php”是

<?php


namespace AppHttpControllers;

use Appmyform;
use Mail;
use IlluminateSupportFacadesDB;
use FakerProviderDateTime;
use AppUser;
use AppHttpRequestscreateUserRequest;
use IlluminateSupportFacadesAuth;
use IlluminateSupportFacadesValidator;
use IlluminateSupportFacadesInput;
use SymfonyComponentHttpFoundationRequest;

class myformController extends Controller
{
    public $type = 'myform';


    public function getIndex()
    {
//        $user = DB::table('user')->get();
        $employer = DB::table('employee')->simplePaginate(5);
        return view('myform.index')->with('employer',$employer);
    }


    public function formInsert()
    {
        $postform = Input::all();
        //insert data into mysql table
        $data =      array('employeeID'=> $postform['employeeID'],'employeeNo'=> $postform['employeeNo'],'Cname'=> $postform['Cname'],'dob'=> $postform['dob'],'phoneNumber'=> $postform['phoneNumber'],'address'=> $postform['address'],);
        //  echo print_r($data);
        $ck = 0;
        $ck = DB::table('employee')->Insert($data);
        //echo "Record Added Successfully!";
        $employer = DB::table('employee')->simplePaginate(10);
        return view('myform.index')->with('employer',$employer);


    }

    public function delete($id)
    {
        DB::table('employee')->where('employeeID','=',$id)->delete();
        $employer = DB::table('employee')->simplePaginate(10);
        return view('myform.index')->with('employer',$employer);
    }

    public function formIDinsert()
    {
        $postform = Input::all();
        //insert data into mysql table
        $data =      array('employeeID'=> $postform['employeeID'],$employer);


    }

    public function edit($id)
    {
        try {
            //Find the user object from model if it exists
          $user=DB::table('employee')->where('employeeID',$id)->get();
            //$user = User::findOrFail($id);
            //Redirect to edit user form with the user info found above.
          return view('myform.edit')->with ('user',$user);

            //return view('myform.edit')->with('user',myform::find($id));
        } catch (ModelNotFoundException $err) {
            //redirect to your error page
        }
    }

    // Update user
    public function update(Request $request,$id)
    {
        try{
            //Find the user object from model if it exists
            $user= myform::findOrFail($id);
            DB::table('employee')
                ->where('employeeID',$id)
                ->update(['employeeNo' =>$request['employeeNo'],'Cname'=>$request['Cname'],'phoneNumber'=>$request['phoneNumber'],'address'=>$request['address']
                ]);
            //Set user object attributes
            //the $request index should match your form field ids!!!!!
            //you can exclude any field you want.

//            $user->employeeNo = $request['employeeNo'];
//            $user->Cname = $request['Cname'];
//            $user->phoneNumber = $request['phoneNumber'];
//            $user->address = $request['address'];

            //Save/update user.
            $user->save();
            return view('myform.index')->with('user',$user);
            //redirect to somewhere
        }
        catch(ModelNotFoundException $err){
            //Show error page
        }
    }


}

模型“myform.php”是

<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class myform extends Model
{

    protected $table = 'employee';
    //protected $primaryKey = 'employeeID';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'employeeID','employeeNo','Cname','dob','phoneNumber','address',];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password','remember_token',];
}

Routes.php是

Route::any('myform',function()
{
    return view('myform/myform');
});

Route::any('myform/myform','myformController@formInsert');
Route::any('myform/index','myformController@getIndex');
//to show edit form and fetch passed user id info from db
Route::get('myform/edit/{id}','myformController@edit');

//to get the edited info and save it to db
Route::get('myform/update/{id}','UserController@update');
Route::any('myform/index','myformController@formIDinsert');
Route::any('myform/delete/{id}','myformController@delete');

解决方法

你想改变你的路线:

Route::get('myform/update/{id}','UserController@update');

//Because the data in your form is transferred/submitted by post request
Route::post('myform/update/{id}','UserController@update');

然后将更新功能更改为此

// Update user
public function update(Request $request,$id)
{
    try{
        //Find the user object from model if it exists
        $user= myform::findOrFail($id);

        //$request contain your post data sent from your edit from
        //$user is an object which contains the column names of your table

        //Set user object attributes
        $user->employeeNo = $request['employeeNo'];
        $user->Cname = $request['Cname'];
        $user->dob = $request['dob'];
        $user->phoneNumber = $request['phoneNumber'];
        $user->address = $request['address'];

        // Save/update user. 
        // This will will update your the row in ur db.
        $user->save();

        return view('myform.index')->with('user',$user);
    }
    catch(ModelNotFoundException $err){
        //Show error page
    }
}

如果您有任何问题或需要澄清,欢迎您提问:)

在编辑视图中更新

改变这一点

<form class="form-horizontal" role="form" method="POST" action="{{ url('myform/myform/') }}">

<form class="form-horizontal" role="form" method="POST" action="{{ url('myform/update/').$user->employeeID}}">

将$user-> employeeID更改为您的主键.

也改变这个

<button type="submit" class="btn btn-warning"><a href="{{ url('myform/update/'.$use->employeeID) }}">
                                        Update</a>
                                    </button>

对此

<button type="submit" class="btn btn-warning">Update</button>

如前所述,Aso你没有修复你的路线.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读