Laravel 5 基础(八)- 模型、控制器、视图基础流程
1 | <code>Route::get('artiles', '[email  protected ]');</code>
|
登入後複製
1 | <code> php artisan make:controller ArticlesController --plain</code>
|
登入後複製
1 | <code><?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 ; }}</code>
|
登入後複製
可以在浏览器中看到返回的 JSON 结果,cool!
修改控制器,返回视图
1 | <code> public function index() { $articles = Article::all(); return view('articles.index', compact('articles')); }</code>
|
登入後複製
创建视图
1 | <code>@ 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</code>
|
登入後複製
浏览结果,COOL!!!!
添加显示详细信息的路由
1 | <code>Route::get('articles/{id}', '[email  protected ]');</code>
|
登入後複製
其中,{id}
是参数,表示要显示的文章的 id,修改控制器:
1 | <code> public function show( $id ) { $article = Article::find( $id );
|
登入後複製
laravel 提供了更加方便的功能,修改控制器:
1 | <code> public function show( $id ) { $article = Article::findOrFail( $id ); return view('articles.show', compact('article')); }</code>
|
登入後複製
It's cool.
新建视图
1 | <code>@ extends ('layout')@section('content') <h1>{{ $article ->title}}</h1> <article> {{ $article ->body}} </article>@stop</code>
|
登入後複製
在浏览器中尝试访问:/articles/1 /articles/2
修改index视图
1 | <code>@ 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('[email protected]', [$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</code>
|
登入後複製