2015-10-10 26 views
10

Mô tả: Tôi có một bảng đầy đủ dữ liệu thử nghiệm. Đôi khi, tôi muốn xóa nó ra cho dữ liệu mới. Tôi có thể thực hiện cắt ngắn trong DBMS App như MySQL WorkBench, nhưng tôi đang cố gắng để đạt được nó trong ứng dụng của tôi để thay thế.Cắt một bảng trong Laravel 5


Goal: để tạo ra một nút để cắt xén một bảng trong một cơ sở dữ liệu khi vào nhấp chuột.


Dưới đây là các bước của tôi:

1 - Khai báo một tuyến đường

Route::delete('visitor/truncate',array('as'=>'visitor.truncate', 'uses'=>'[email protected]')); 

2 - Tạo một hàm truncate trong tôi VisitorController

public function truncate() 
{ 

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

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

3 - Tạo một nút trên quan điểm của tôi

{!! 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 - Kiểm tra

Khi tôi bấm vào nó, nó nhận được vào chức năng truncate() tôi trong tôi điều khiển, nhưng tôi vẫn gặp phải lỗi này

Gọi phương pháp xác định Illuminate \ Database \ hùng biện \ Collection :: truncate()


Tôi có cần phải bao gồm bất cứ điều gì để sử dụng truncate()?

Mọi gợi ý về điều đó sẽ được nhiều người đánh giá cao!

Trả lời

17

Phương thức truncate là một phần của Trình tạo truy vấn. Tuy nhiên Visitor::all() trả về phiên bản Collection. Bạn cần phải xây dựng các truy vấn bằng cách sử dụng sau đây:

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

sau đây nên làm việc là tốt,

Visitor::truncate();

0

một cách khác nếu bạn không có một lớp mô hình cho bảng - Laravel 5.4

DB:connection(database connection name)->table(table name)->truncate();