2016-09-23 52 views
-1

我很困惑。我正在跟隨laravel文檔到T,並且可能沒有正確配置某些東西?Laravel 5.3,Eloqent模型和命名空間問題

簡而言之:我不能像文檔顯示那樣使用我的Eloquent模型。

的龍:

我跟着從Laravel文檔這些步驟。

  1. laravel新博客
  2. 添加數據庫細節.ENV
  3. 創建的模型:php artisan make:model SavedService

    namespace App; 
    
    use Illuminate\Database\Eloquent\Model; 
    
    /** 
    * @property integer $service_id 
    * @property string $title 
    * @property string $price 
    * @property string $short_description 
    * @property string $long_description 
    * @property integer $display 
    */ 
    class SavedService extends Model 
    { 
        protected $table = 'saved_services'; 
        public $timestamps = false; 
    
        /** 
        * @var array 
        */ 
        protected $fillable = ['title', 'price', 'short_description', 'long_description', 'display']; 
    } 
    
  4. 創建控制器:php artisan make:controller datatest

  5. 添加index方法控制器:

    現在
    namespace App\Http\Controllers; 
    
    use Illuminate\Http\Request; 
    use App\Http\Requests; 
    use App\SavedService; 
    
    class datatest extends Controller 
    { 
        public function index() { 
         $flights = App\SavedService::all(); 
    
         foreach ($flights as $flight) { 
          echo $flight->name; 
         } 
        } 
    } 
    

use App\SavedService;突出顯示在PHPStorm: 「SavedServices從未使用過。」

另外,對於$flights = App\SavedService::all();,應用程序以紅色突出顯示:「未定義的命名空間應用程序」。 SavedService突出顯示,PHPStorm告訴我「未定義的類SavedService」。

如果我讓PHPStorm創建SavedService類,它的名稱空間是App/Http/Controllers/App

項目結構是

app 
-composer.json 
-Http\ 
-SavedService.php 
--Controllers\ 
---dataTest.php 

composer.json自動加載:

"autoload": { 
    "classmap": [ 
     "database" 
    ], 
    "psr-4": { 
     "App\\": "app/" 
    } 
}, 

編輯:
對不起,只好匆匆,搭乘火車進入車站!我想補充一些東西。首先,我正在使用一臺流浪機來承載這些項目,但不確定這一點很重要嗎?其次,我想使用Propel-orm。我發現雄辯的話不是很有說服力。我無法推動工作,與命名空間有關。 propel生成的模型將在app/Http/Models/Http/Models/ModelName中。我開始認爲這是一個問題。

我沒有對流程做任何超常規的事情。只需按照文檔中的步驟操作即可。

此外,Eloquent似乎並不像Laravel文檔頁面託管的雄辯文檔那樣工作。例如「get()」eloquentModel :: get()。 laravel文檔顯示爲get(),並且phpstorm引發了一種說法,稱$ key是預期的。雄辯的文件證實,得到($ key)。我在那裏錯過了什麼?爲什麼不同,爲什麼沒有在文檔中提到。也許這與我目前的問題有關?也許這個答案會解決爲什麼我不能使用推進?

END EDIT。

我缺少什麼?我很困惑,爲什麼這不正常?請幫助!!!由於

回答

1

變化

$flights = App\SavedService::all(); 

$flights = SavedService::all(); 
+0

這 「工作」 移動到下一個問題:$飛行= SavedService ::發現(1); $機票 - >刪除();查找和刪除突出顯示:找不到方法。 – njDeveloper

+0

你有ID爲1的savedService嗎?我也沒有在這裏看到有關你的遷移的任何信息,你是否製作/運行它們? –

+0

沒有遷移,認爲它們是可選的?在這種情況下,不存在ID爲1的已保存的服務,但有一個ID爲6.將其更改爲6不會更改任何內容,仍然找不到方法。 – njDeveloper