gdf*_*dfg 1 soft-delete laravel eloquent laravel-5
我有一个简单的应用程序与表格和模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use SoftDeletes;
class Post extends Model
{
protected $table = 'post';
protected $dates = ['deleted_at'];
protected $softDelete = true;
}
Run Code Online (Sandbox Code Playgroud)
我试图做软删除的例子,我正在使用路由,例如route.php:
<?php
use App\Post;
use Illuminate\Database\Eloquent\SoftDeletes;
Route::get('/delete', function(){
$post = new Post();
Post::find(12)->delete();
});
Run Code Online (Sandbox Code Playgroud)
我有一个使用迁移创建的列"created_at":
Schema::table('post', function (Blueprint $table) {
$table->softDeletes();
});
Run Code Online (Sandbox Code Playgroud)
,但是当我运行网站时,它删除了具有所选ID的行,而不是向此列添加时间.我哪里错了?
您需要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'];
}
Run Code Online (Sandbox Code Playgroud)
现在你,不是应用特质,所以很明显它不起作用.
此外,您在路径文件中有不必要的代码段.它应该如下所示:
<?php
use App\Post;
Route::get('/delete', function(){
Post::find(12)->delete();
});
Run Code Online (Sandbox Code Playgroud)