2016-07-22 7 views
1

테이블 포스트와 모델 간단한 응용 프로그램이 작동하지 않습니다 삭제 소프트 :Laravel 5.2 내가

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use SoftDeletes; 
class Post extends Model 
{ 
    protected $table = 'post'; 

    protected $dates = ['deleted_at']; 

    protected $softDelete = true; 

} 

내가 삭제 소프트의 예를 만들려고 노력하고 있는데 난 그냥 예를 들어 route.php에 대한 경로를 사용하고을 :

<?php 
use App\Post; 

use Illuminate\Database\Eloquent\SoftDeletes; 
Route::get('/delete', function(){ 
    $post = new Post(); 
    Post::find(12)->delete(); 

}); 

나는 열 "created_at은"마이그레이션을 만들었습니다

Schema::table('post', function (Blueprint $table) { 
     $table->softDeletes(); 
    }); 

, 대신 시간을 추가 이 열에 사이트를 실행하면 선택한 ID가있는 행이 삭제됩니다. 내가 어디서 잘못한거야?

+0

'use SoftDeletes; 나는 설명서가 그 것이 맞다고 생각한다 –

답변

5

당신은 다음처럼 모델 내부 SoftDeletes 특성을 사용해야합니다

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 
use Illuminate\Database\Eloquent\SoftDeletes; 

class Post extends Model 
{ 
    use SoftDeletes; 

    protected $table = 'post'; 

    protected $dates = ['deleted_at']; 
} 

이제 당신은, 그래서 분명히 작동하지 않는, 특성을 적용하지 않습니다.

또한 경로 파일에 불필요한 코드가 있습니다. 다음과 같이 표시되어야합니다 :

<?php 
use App\Post; 

Route::get('/delete', function(){ 
    Post::find(12)->delete(); 
}); 
+0

이것은 옳다. 나는 똑같은 것을 타이핑했다. –

+0

대단히 감사합니다 :). – gdfgdfg