質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1299閲覧

[laravel]5.1でララ帳に記載のあるファザードを利用したフォーム作成でproviderのCollectiveが機能しない。

退会済みユーザー

退会済みユーザー

総合スコア0

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2017/07/27 09:10

サービス・プロバイダーを利用してフォームを画像アップロードのフォームを作成しているのですが、Collectiveでviewが表示されません。

####表示されるエラー
HTTP ERROR 500
と表示されます。

####追加したコード

php

1'providers' => [ 2 Collective\Html\HtmlServiceProvider::class, 3], 4'aliases' => [ 5 'Form' => Collective\Html\FormFacade::class, 6 'Html' => Collective\Html\HtmlFacade::class, 7]

上記のCollectiveは、vendor\barryvdh\html\src\HtmlFacade.phpにあります。
app/Http/routes.phpに追加したコード

Route::get('FormController@personalHistoryCreate'); Route::get('FormController@personalHistoryRegister');
<?php namespace AppHttpControllers; use App\Http\Controllers\Controller; class FormController extends Controller { public function personalHistoryCreate() { return view ('public.personalHistoryCreate'); } public function personalHistoryRegister() { } }

上記Contollerに対応するviewファイルを作成してあります。

ご教授のほど、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

下の質問でも書きましたが、500エラーのプログラム上の原因を探る方法として、エラー状況のスタックトレース等が記録されているWebサーバーのログかLaravelのログをまずは確認する必要があるかと思います。

  1. Laravelのログをデフォルト設定であれば、500エラーが出た後にstrorage/logs/laravel.log を確認します。
  2. larave.logが存在しない場合は、Webサーバーの段階でのエラーが考えられるのでWebサーバーのログ(apache、nginx等)を確認します。

※.envのAPP_DEBUGはデバッグ用にtrueにしてください

※またララ帳さんのページでは、Laravel5.1用のチュートリアルですが、Laravelのバージョンは5.1でしょうか。最新のLaravel5.4であれば何か差異が生じているかもしれません。

投稿2017/07/27 09:32

aro10

総合スコア4106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/27 09:40

ご回答ありがとうございます。 providerのCollective\Html\HtmlServiceProvider::class,がありますと、500エラーが表示されます。 また、laravelのバージョンは5.1ですので、差異はないかと思います。 laravelのエラーはありませんでしたので、apacheのログを確認したところ、下記のエラーが表示されていました。 PHP Fatal error: Uncaught Error: Call to a member function connection() on null in laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php:3224\nStack trace:\n#0 laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(3190): Illuminate\\Database\\Eloquent\\Model::resolveConnection(NULL)\n#1 laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1870): Illuminate\\Database\\Eloquent\\Model->getConnection()\n#2 laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1813): Illuminate\\Database\\Eloquent\\Model->newBaseQueryBuilder()\n#3 laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php(1432): Illuminate\\Database\\Eloquent\\Model->newQueryWithoutScopes()\n#4 laravel\\app\\Exceptions\\Handler.php(44): Illuminate\\Database\\Eloquent\\Model->save()\n#5 laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Bootstrap\\HandleExceptions.php(79): App\\Exceptions\\Handler in laravel\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Eloquent\\Model.php on line 3224
aro10

2017/07/27 09:45

メソッドがないというエラーのようなので、autoload等がうまく機能していないことが考えられます。 一度Laravelプロジェクトディレクトリで、composer dump-autoload を行ってみてください。
退会済みユーザー

退会済みユーザー

2017/07/27 09:49

composer dump-autoloadを行ったのですが、状況が変わらないですね。 autoload後は、下記のように表示されます。 Generating autoload files [RuntimeException] Could not scan for classes inside "database" which does not appear to be a file nor a folder dump-autoload [--no-scripts] [-o|--optimize] [-a|--classmap-authoritative] [--apcu] [--no-dev]
aro10

2017/07/27 09:58 編集

ライブラリの対応バージョン差異があるか、セミコロン抜け等でプログラムのどこかでエラーとなっている事にフレームワークが引きずられているか等を確認してみて下さい。 あとは勉強目的であればHTMLライブラリは使わずに、そのまま通常のHTMLのformタグやinputで記述すると良いかもしれません。 フォームのPOSTに対するセキュリティ機能のcsrfトークンに対しては、csrf_field()かcsrf_token()ヘルパーでフォームに埋め込めばcsrfのエラーはでません。 [Laravel 5.1 ヘルパ](https://readouble.com/laravel/5.1/ja/helpers.html#method-csrf-field)
退会済みユーザー

退会済みユーザー

2017/07/27 10:35

ありがとうございます。 こちらは実用を目的としておりますので、可能であればファザードを利用したいです。 ファイル数が膨大なのですが、セミコロンの抜け等を簡単に発見する方法などはございますでしょうか?
退会済みユーザー

退会済みユーザー

2017/07/27 10:55

工数等を考慮して、aro10様がご提案してくださったライブラリを使わない方法で行こうと思います。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問