3

官方文档中,提到了以下列:

  • parent_id
  • 左上角
  • rgt
  • 深度

我在文档中没有找到关于它们类型的任何解释。有人可以帮我告诉我它们是什么吗?

如果我只想重新排序项目列表(我不需要任何嵌套),我还想知道它们是否都是强制性的。

编辑:由于这个问题很受欢迎,我已经用正确的信息更新了文档

4

1 回答 1

6

integer如果您不使用迁移,重新排序的 id 列应该是或 INT(10)。

不幸的是,它们都是强制性的,是的。但是,如果您使用的是非常严格的 DB 模式,则可以通过将此方法添加到 EntityCrudController(基本上覆盖 in 中的那个Backpack\CRUD\app\Http\Controllers\CrudFeatures\Reorder)来消除除“lft”列之外的所有这些:

public function saveReorder()
{
    $this->crud->hasAccessOrFail('reorder');

    $all_entries = \Request::input('tree');

    if (count($all_entries)) {
        $count = 0;

        foreach ($all_entries as $key => $entry) {
            if ($entry['item_id'] != '' && $entry['item_id'] != null) {
                $item = $this->crud->model->find($entry['item_id']);
                $item->lft = empty($entry['left']) ? null : $entry['left'];
                $item->save();

                $count++;
            }
        }
    } else {
        return false;
    }

    return 'success for '.$count.' items';
}
于 2016-11-01T14:04:10.790 回答