2016-11-15 2 views
0

以下のコードはコントローラコードです。このコードは機能しますが、値はページからのみ削除されます。テーブルから、値は削除されません。ページとテーブルの両方から値を削除するにはどうすればよいですか?テーブルから値を削除するには?

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\[email protected]'); 

    } 
+0

あなたはsoftdeleteを使用していますか? –

答えて

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\[email protected]'); 

} 
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']; 
} 

ソフト削除したくない場合は削除して直接削除してください。

関連する問題