2015-02-24 81 views
1

我有一个Laravel 5的新安装。问题是它不能识别我的模型类。为了解决问题,我会保持它非常简单。Laravel 5和模型

Route::get('test', function() { 
    $test = boxstyle::all(); 
    .... 
} 

我的模型是应用程序目录

<?php namespace App; 
use Illuminate\Database\Eloquent\Model; 
class Boxstyle extends Model { 
    protected $table = 'boxstyle'; 
    protected $primaryKey = 'key1'; 
} 

我越来越:

class boxstyle not found error 

我一直在寻找所有在互联网上并不能找到一个解决方案。这个安装是新鲜的。这不是魔术,我怀疑配置问题,但我找不到解决方案。这在Laravel 4.2中运行良好,所以我知道它应该可以工作,但不适用于L5。

+0

** b ** oxstyle!= ** B ** oxstyle – 2015-02-24 01:23:42

回答

0

您的模型在App命名空间中定义。如果访问模型的代码与模型不在同一个名称空间中,则需要对其进行限定。

Route::get('test', function() { 
    $test = \App\Boxstyle::all(); 
} 

Laravel 4没有在名称空间中定义模型和控制器。您的模型将在全局名称空间内定义,因此全局名称空间中的任何代码(如控制器)都不需要限定模型。然而,Laravel 5已经推动将大部分内容放在命名空间中。

0

要在Laravel 5中创建模型,请尝试此操作,在您的App文件夹下创建一个文件夹名称“Models”文件夹,例如您想为Boxstyle创建一个Model类...在Models文件夹下创建一个文件名 “BoxstyleModel.php”你BoxstyleModel.php里面应该是这样的,并确保您的文件夹里面命名空间下的应用程序\型号

<?php namespace App\Models;

use Illuminate\Database\Eloquent\Model;
class BoxstyleModel extends Model {

模型0
public static function say_hello(){ 
    return "Hello"; 
} 

}

在Boxstyle控制器

能够使用BoxstyleModel你BoxstyleController的顶部添加以下代码use App\Models\BoxstyleModel;

现在一切都应该是相同的像Laravel 4.X.