0
我正在使用 laravel包以及jstree jQuery插件來管理類別。etrepat/baum laravel包中缺少makeNthChildOf()方法
在jstree中有一個move_node.jstree用於移動節點的方法。它具有有用的屬性來獲取有關移動動作的信息,如parent
,old _parent
,...和position
,它返回父節點中移動的子節點的新位置。
另一方面也有移動節點的方法(here)。但是沒有像makeNthChildOf()
這樣的方法可用於將子節點放置在父節點的特定位置。像:
$node->makeNthChildOf(newPosition , $parent)
在客戶端
現在移動我寫了這個節點:
$treeview.on('move_node.jstree', function (e, data) {
$.post('/move', {
'CategoryID': data.node.id,
'newParent': data.parent,
'oldParent': data.old_parent
}, function (res) {
data.instance.open_node(data.parent);
}, 'json');
});
而在laravel:
public function move (Request $request)
{
$data = $request->only('newParent', 'oldParent', 'CategoryID');
$currentNode = Category::find($data['CategoryID']);
if ($data['newParent'] == '#') {
$currentNode->makeRoot();
} else {
$currentNode->makeChildOf($data['newParent']);
}
return ['success' => true];
}
但上面的代碼不能這樣做,我想和剛可以將父節點從父節點移動到另一個父節點。
我想知道是否有任何替代方法來做到這一功能?