在这个上撕掉我的头发...无法在Laravel 5.x中使用软删除工作。
“deleted_at”列永远不会填充时间戳。
如果我从模型中删除“使用SoftDeletes”,它会删除该项目(如预期的那样),但软删除不会执行任何操作。
这是我的代码:
型号:
class UkRfpEntry extends Model
{
use SoftDeletes;
/**
* The attributes that should be mutated to dates.
*
* @var array
*/
protected $dates = ['deleted_at'] ;
public function metadata()
{
return $this->hasOne('App\UkRfpEntryMetadata');
}
}
位指示:
public function destroy(UkRfpEntry $uk_rfp_entry)
{
$uk_rfp_entry->delete();
}
(成功)迁移:
public function up()
{
Schema::table('uk_rfp_entries', function (Blueprint $table) {
$table->softDeletes();
});
}
AJAX删除请求:
$.ajax({
url: "{{ url('/uk_rfp_entries/') }}" + "/" + $(this).attr('id'), // the url where we want to POST
type: 'DELETE',
data: {
'_token': '{{ csrf_token() }}',
'_method': 'DELETE',
},
dataType: 'json',
success: alert('success')
});
答案 0 :(得分:0)
Grrr ....我的愚蠢遗漏。
use Illuminate\Database\Eloquent\SoftDeletes;
需要在模型中。这解决了它。