Class" MenuModel"未找到

时间:2017-07-14 04:04:10

标签: php laravel-5

当我尝试运行Laravel时出现此错误

  

Class' Menumodel'未找到   在HasRelationships.php(第487行)

这是我的数据结构

enter image description here

这是MainComposer.php

<?php

namespace App\Http\ViewComposers;

use Illuminate\View\View;
use App\Menumodel as menu;

class MainComposer
{
    public $items = [];

    public function __construct()
    {
         $this->items = menu::tree();
    }

    public function compose(View $view)
    {
        $view->with('items', end($this->items));
    }
}

MenuModel

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

    class Menumodel extends Model
    {
        //
         public $table = 'Menu';
         protected $fillable = ['MenuParent','MenuName','MenuPath','MenuIcon','MenuOrder','RouteName'];

         public function parent() {
            return $this->hasOne('Menumodel', 'MenuCode', 'MenuParent');
        }
        public function children() {
            return $this->hasMany('Menumodel', 'MenuParent', 'MenuCode');
        }  
        public static function tree() {
            return static::with(implode('.', array_fill(0, 4, 'children')))->where('MenuParent', '=', NULL)->get();
        }

    }

我aldredy尝试使用\App\Menumodel as menu;,但仍然没有什么不同。我该如何解决?

1 个答案:

答案 0 :(得分:1)

您的人际关系不正确。您需要提供完整的类命名空间。

while

我还删除了你的本地和外键,因为如果使用Laravel,这些通常是snake_case,而不是StudlyCase,所以你可能需要仔细检查它们。