Route::get('artiles', 'ArticlesController@index'); php artisan make:controller ArticlesController --plain<?php namespace App/Http/Controllers;use App/Article;use App/Http/Requests;use App/Http/Controllers/Controller;use Illuminate/Http/Request;class ArticlesController extends Controller {public function index() { $articles = Article::all(); return $articles; }}可以在瀏覽器中看到返回的 JSON 結果,cool!
修改控制器,返回視圖
public function index() { $articles = Article::all(); return view('articles.index', compact('articles')); }創建視圖
@extends('layout')@section('content') <h1>Articles</h1> @foreach($articles as $article) <article> <h2>{{$article->title}}</h2> <div class="body">{{$article->body}}</div> </article> @endforeach@stop瀏覽結果,COOL!!!!
添加顯示詳細信息的路由
Route::get('articles/{id}', 'ArticlesController@show');其中,{id} 是參數,表示要顯示的文章的 id,修改控制器:
public function show($id) { $article = Article::find($id); //若果找不到文章 if (is_null($article)) { //生產環境 APP_DEBUG=false abort(404); } return view('articles.show', compact('article')); }laravel 提供了更加方便的功能,修改控制器:
public function show($id) { $article = Article::findOrFail($id); return view('articles.show', compact('article')); }It's cool.
新建視圖
@extends('layout')@section('content') <h1>{{$article->title}}</h1> <article> {{$article->body}} </article>@stop在瀏覽器中嘗試訪問:/articles/1 /articles/2
修改index視圖
@extends('layout')@section('content') <h1>Articles</h1> <hr/> @foreach($articles as $article) <article> <h2> {{--這種方式可以--}} <a href="/articles/{{$article->id}}">{{$article->title}}</a> {{--這種方式更加靈活,不限制路徑--}}<br> <a href="{{action('ArticlesController@show', [$article->id])}}">{{$article->title}}</a> {{--還可以使用--}}<br> <a href="{{url('/articles', $article->id)}}">{{$article->title}}</a> </h2> <div class="body">{{$article->body}}</div> </article> @endforeach@stop新聞熱點
疑難解答