2013-09-11 60 views
11

tôi thử như sau:Di reationship từ nhiều-nhiều mô hình trong laravel 4

$one = OneModel::findOrFail($id); 
$two = $one->two_model()->findOrFail($two_id); 
$two->delete(); 

Nhưng đó xóa các bản ghi từ cơ sở dữ liệu, làm thế nào tôi có thể chỉ cần loại bỏ các mối quan hệ mà không xóa từ bảng? Và cũng không cần phải gây rối với các bảng pivot, vì nếu điều đó là cần thiết, tại sao tôi thậm chí sử dụng một khuôn khổ ...

Trả lời

30

Nếu tôi có bạn một cách chính xác, detach() là những gì bạn đang tìm kiếm:

$one = OneModel::findOrFail($id); 
$one->two_model()->detach($two_id); 

Thao tác này sẽ chỉ xóa mối quan hệ với bảng $idtwo_model 's $two_id trong bảng tổng hợp của bạn.

Click here for more details.

Chỉnh sửa: Cập nhật liên kết để chuyển đến trang chính xác mới.

+2

wow, làm cách nào tôi bỏ lỡ điều đó. – localhost