【问题标题】:delete data from database using model in laravel 5使用 laravel 5 中的模型从数据库中删除数据
【发布时间】:2015-07-30 00:24:24
【问题描述】:

我试图通过获取数据的 id 并使用 get route 传输它来从我的表中删除数据,但我收到以下错误

Builder.php 第 125 行中的 ModelNotFoundException:没有查询结果 模型 [App\employe]。

她是我的路线

Route::get('/delete/{employe}', 'EmployeController@delete');
Route::post('/delete', 'EmployeController@handleDelete');

我有一个名为employee的模型来访问我的表

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class employe extends Model {

    protected $fillable = array('fname','lname','age','sex','phone','email','houseno','city','kebele','state','username','password','workposition','salary','bankaccount','bankname','contactid','employedate');


}

我的控制器的一部分用于删除

    public function delete(employe $employe)
    {
    // Show delete confirmation page.
    return View('deleteemploye', compact('employe'));
    }

    public function handleDelete()
    {


    $employe = employe::findOrFail(Input::get('employe'));
    $employe->delete();

    return Redirect::action('EmployeController@index');

}

她是我删除文件的看法

@extends('app')

@section('content')

    <div class="page-header">
        <h2>Delete {{$employe->fname}} Are you sure?</h2>
    </div>
    <form action="{{ action('EmployeController@handleDelete') }}" method="post" role="form">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">
        <input type="hidden" name="employe"  id="employe" value="{{ $employe->id }}" />
        <input type="submit" class="btn btn-default" value="Yes" />
        <a href="{{ action('EmployeController@index') }}" class="btn btn-default">No</a>
    </form>
@stop  

【问题讨论】:

    标签: php laravel-5 laravel-routing


    【解决方案1】:

    看起来 laravel 无法使用您传递的主键找到模型。检查数据库,看看它是否在那里。如果是,请检查 deleted_at 字段。如果其中有日期,则表示它已被删除。你仍然可以通过withTrashed()找到它

    $employe = employe::withTrashed()->findOrFail(Input::get('employe'));
    

    如果您为此模型启用了软删除,则可以通过运行完全删除给定行

    $employe = employe::withTrashed()->findOrFail(Input::get('employe'))->forceDelete();
    

    【讨论】:

    • 数据在那里,没有被删除
    • 你有deleted_at列吗,如果有,是否为空?
    • 我有 updated_at 列,它与创建时间相同,但我没有 deleted_at 列。
    猜你喜欢
    • 2016-06-12
    • 2017-11-29
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2019-06-08
    • 1970-01-01
    • 2017-06-23
    相关资源
    最近更新 更多