我的表单中有一个树节点。我正在使用kartik-v的Tree Manager。 这是我的查看代码:
echo TreeViewInput::widget([
'query' => Tree::find()->addOrderBy('root, lft'),
'headingOptions' => ['label' => 'Set Permission'],
'name' => 'name',
'value' => '1,2,3',
'asDropdown' => false,
'multiple' => true,
'fontAwesome' => true,
'rootOptions' => [
'label' => '<i class="fa fa-tree"></i>',
'class' => 'text-success'
]);
但是,在这种情况下,我必须遵循与小部件中提到的相同的表结构。我有一些额外的字段和更多的权限。因此,使用相同的结构有点复杂。
是否可以将数组中的值直接传递到此小部件?如果可能的话,让我知道数组格式。
现在,我对这种树节点实现感到困惑。
答案 0 :(得分:1)
您可以通过一些技巧或使用其他方式来做到这一点:
1)您可以像这样向查询中添加条件:
Tree::find()->andWhere(['not in','id',[2,3,4]])->addOrderBy('root, lft'),
通过此解决方案,您可以忽略不需要的行,就像直接在数组中发送数据一样。
2)您可以通过使用像jsTree这样的js lib / plugin direct使用另一个解决方案,在这种情况下,您可以创建并传递直接自定义数组...请看以下示例:jsTree Example