各種サイトを参考にLaravelの学習を始めたばかりの初心者ですが、質問させてください。
■環境
CentOS 7.2.1511
Laravel 5.3
Sqlite 3.7.17
PHP 5.6.23
nginx 1.10.1
composer 1.1.3
■モデル
[アプリケーションルート]\app\Article.php
lang
1<?php 2namespace App; 3use Illuminate\Database\Eloquent\Model; 4 5class Article extends Model { 6}
■ルーティング
[アプリケーションルート]\app\Http\routes.php
lang
1<?php 2Route::get('articles', 'ArticlesController@index'); 3Route::get('articles/{id}', 'ArticlesController@show');
■コントローラ
[アプリケーションルート]\app\Http\Controllers\ArticlesController.php
lang
1<?php 2namespace App\Http\Controllers; 3use Illuminate\Http\Request; 4use App\Http\Requests; 5use App\Article; 6 7class ArticlesController extends Controller 8{ 9 public function index() { 10 //下の行をコメントアウトするとページは表示される 11 $articles = Article::all(); 12 13 //このビューは動作確認用の固定テキストを表示するページ 14 return view('articles.index'); 15 } 16 17 //showメソッドは動作する(ページが表示される) 18 public function show($id) { 19 return $id; 20 } 21}
■問題点
コントローラの記述で、Articleモデルからデータを全件取得する行がうまいくいっていない。$articles = Article::all(); の行をコメントアウトするとページが表示されるが、コメントアウトしないと、ブラウザ上ではHTTPエラー500と表示される。
■確認したこと
1.コントローラのindexメソッドは機能しないが、showメソッドは機能する。
2.php artisan tinkerで、プロンプトから
$articles = App\Article::all(); とすると、データは全件表示される。
以上のことから、ルーティングもしくはコントローラの記述に問題があるのではないかと推測しているのですが、どうしても突破できず、質問させていただきました。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー