截断 Laravel 5 中的表

2022-08-30 09:53:50

描述 : 我有一个满是测试数据的表格。有时,我想清除它以获取新数据。我可以在DBMS应用程序中执行截断,例如MySQL WorkBench,但我正在尝试在我的应用程序中实现它。


目标 :创建一个按钮,用于在单击时截断数据库中的表。


这是我的步骤:

1 - 声明路由

Route::delete('visitor/truncate',array('as'=>'visitor.truncate', 'uses'=>'VisitorController@truncate'));

2 - 在我的访客控制器中创建截断函数

public function truncate()
{

    $visitors = Visitor::all();
    $visitors ->truncate();

    return View::make('visitors.index')
        ->with('success', 'Truncate Done');
}

3 - 在我的视图上创建一个按钮

 {!! Form::model($visitors, array( 'route' => array('visitor.truncate'),'method' => 'DELETE')) !!}
          <button type="submit"  class="btn bgm-red btn-float waves-effect waves-effect waves-button waves-float"><i class="md md-remove"></i></button>
      {!! Form::close()!!}

4 - 测试

当我点击它时,它会进入我的控制器中的函数,但我不断收到这个错误truncate()

调用未定义的方法 Illuminate\Database\Eloquent\Collection::truncate()


我需要包含任何要使用的内容吗?truncate()

任何提示将不胜感激!


答案 1

以下也应该有效,

Visitor::truncate();


答案 2

该方法是查询生成器的一部分。但是,返回一个实例。您需要使用以下方法生成查询:truncateVisitor::all()Collection

Visitor::query()->truncate();

推荐