如何从表中删除值?

时间:2016-11-15 07:30:28

标签: laravel-5.2

下面的代码是控制器代码。这段代码可以正常工作,但是只从页面中删除了值。从表中看,该值不会被删除。我该如何从页面和表中删除值?

public function deleteconfirms($id)
    {       
         $employee = CreateEmployee::find($id); 

         $employee->destroy($id);           

         Session::flash('flash_notification', array('level' => 'success', 'message' => 'employee deleted successfully'));

         return Redirect::action('Admin\CreateEmployeeController@addemployee');

    }

2 个答案:

答案 0 :(得分:0)

查看以下代码。 通常不要将您的模型命名为CreateEmployee,仅将其命名为Employee。这会造成混乱。

public function deleteconfirms($id)
{       
     $employee = CreateEmployee::destroy($id); 

     Session::flash('flash_notification', array('level' => 'success', 'message' => 'employee deleted successfully'));

     return redirect()->action('Admin\CreateEmployeeController@addemployee');

}

答案 1 :(得分:0)

模型被软删除后,实际上并未从数据库中删除它们。而是在模型上设置deleted_at属性并将其插入到数据库中。如果模型具有非null的deleted_at值,则模型已被软删除。

检查您是否在CreateEmployee模型中使用以下代码。

use Illuminate\Database\Eloquent\SoftDeletes;
class CreateEmployee extends Model
{
    use SoftDeletes;

    /**
     * The attributes that should be mutated to dates.
     *
     * @var array
     */
    protected $dates = ['deleted_at'];
}

如果您不想要软删除,请将其删除并使用直接删除。