2016-09-23 20 views
-1

私は混乱しています。私はLaravel文書をTに従っていますが、何かが正しく構成されていない可能性がありますか?Laravel 5.3、Eloqentモデルとネームスペースの問題

ショート:ドキュメンテーションのような私のEloquentモデルは使用できません。

ロングは:

私はLaravelのドキュメントからの手順に従いました。

  1. laravel新しいブログ
  2. を.envするデータベースの詳細を追加したモデルを作成しました: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']; 
    } 
    
  3. は、コントローラを作成しました:php artisan make:controller datatest

  4. は、コントローラに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();の場合、Appは赤で強調表示されます。「未定義の名前空間App」 SavedServiceがハイライト表示され、PHPStormから「未定義クラスSavedService」が通知されます。

私はPHPStormがSavedServiceクラスを作成してみましょう場合は、その名前空間はApp/Http/Controllers/App

あります?

プロジェクト構造

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

マイcomposer.jsonのautoloadです:

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

EDIT:
申し訳ありませんが、急いでいた、列車が駅に入りました!私はこれにいくつか追加したかったのです。まず、プロジェクトを主催するために迷惑メールマシンを使用していますが、それがわかっているかどうかはわかりません。次に、Propel-ormを使いたかったのです。私は全く雄弁ではありません。私はpropelを動作させることができませんでした。名前空間と関係していました。 propel生成モデルは、app/Http/Models/Http/Models/ModelNameにあります。私はこれがひとつの問題だと思っています。

私はこのプロセスに対して特別なことをしていません。ドキュメントの手順に従ってください。

さらに、EloquentはLaravel docsページで雄弁なドキュメントがホストされているようには機能していないようです。たとえば、「get()」eloquentModel :: get()などです。 laravelのdocsはそれをget()として表示し、phpstormは$ keyが期待されることをぴったりと投げます。雄弁な文書は、get($ key)を確認します。何が私はそこに行方不明ですか?なぜ違い、そしてそれがなぜドキュメンテーションで言及されていないのですか?多分これは私の現在の問題と関係がありますか?たぶん私はpropelを使用することはできませんなぜこれが解決する答えですか?

END EDIT。

私には何が欠けていますか?私はとても混乱している、なぜこれはちょうど働いていないのですか?助けてください!!!おかげ

答えて

1

変更

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

"働いていた" ということ

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

に次の問題に移る:$飛行= SavedService ::見つける(1); $飛行 - >削除();検索と削除が強調表示されます:メソッドが見つかりません。 – njDeveloper

+0

IDが1のsavedServiceはありますか?あなたのマイグレーションについては何も見当たりません。あなたはそれらを作って走らせましたか? –

+0

マイグレーションはありません。この場合、IDが1のsavedServiceはありませんが、IDが6のものがあります.6に変更しても何も変更されませんが、まだメソッドが見つかりません。 – njDeveloper

関連する問題