Kaynağa Gözat

调整表格displayer类的row属性值为model对象

jqh 4 yıl önce
ebeveyn
işleme
d163d8fda8

+ 1 - 1
.travis.yml

@@ -44,7 +44,7 @@ install:
   - cd ./laravel-tests
   - php artisan admin:composer-config
   - travis_retry composer require dcat/laravel-admin:*@dev
-  - travis_retry composer require laravel/dusk --dev --ignore-platform-reqs
+  - travis_retry composer require laravel/dusk --dev # --ignore-platform-reqs
 #  - travis_retry composer require --dev staudenmeir/dusk-updater:"^1.1"
   - php artisan admin:publish --force
   - php artisan admin:install

+ 5 - 5
src/Grid/Displayers/AbstractDisplayer.php

@@ -31,7 +31,7 @@ abstract class AbstractDisplayer
     protected $column;
 
     /**
-     * @var Fluent
+     * @var \Illuminate\Database\Eloquent\Model
      */
     public $row;
 
@@ -71,11 +71,11 @@ abstract class AbstractDisplayer
 
     protected function setRow($row)
     {
-        if ($row instanceof Arrayable) {
-            $row = $row->toArray();
+        if (is_array($row)) {
+            $row = new Fluent($row);
         }
 
-        $this->row = new Fluent($row);
+        $this->row = $row;
     }
 
     /**
@@ -104,7 +104,7 @@ abstract class AbstractDisplayer
      */
     public function getKey()
     {
-        return $this->row->get($this->grid->getKeyName());
+        return $this->row->{$this->grid->getKeyName()};
     }
 
     /**

+ 2 - 2
src/Http/Controllers/UserController.php

@@ -33,12 +33,12 @@ class UserController extends AdminController
                 $nodes = (new $permissionModel())->allNodes();
                 $grid->column('permissions')
                     ->if(function () {
-                        return ! empty($this->roles);
+                        return ! $this->roles->isEmpty();
                     })
                     ->showTreeInDialog(function (Grid\Displayers\DialogTree $tree) use (&$nodes, $roleModel) {
                         $tree->nodes($nodes);
 
-                        foreach (array_column($this->roles, 'slug') as $slug) {
+                        foreach (array_column($this->roles->toArray(), 'slug') as $slug) {
                             if ($roleModel::isAdministrator($slug)) {
                                 $tree->checkAll();
                             }

+ 1 - 1
src/Layout/Menu.php

@@ -23,7 +23,7 @@ class Menu
             'id'        => 2,
             'title'     => 'Extensions',
             'icon'      => '',
-            'uri'       => 'helpers/extensions',
+            'uri'       => 'auth/extensions',
             'parent_id' => 1,
         ],
         [