2015-02-24 153 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.