このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
- 02 Apache2で自己認証ssl [中間証明書の整合性確認]
最近の更新
Postのデータ一覧を表示するページ
コントローラ作成
※コントローラ内でテーブルを指定しない場合、同じ名前のテーブルを参照する。
php artisan make:model Post
下記ができる
app/Post.php
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Post extends Model { // }
routes/web.php
Route::get('/foo', function () { $posts = App\Post::all(); return view('home', compact('posts')); });
resources/views/home.blade.php
<!DOCTYPE html> <html> <head> <title>Homepage</title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body> <div class="container"> <br><br> <div class="row"> @foreach($posts as $post) <div class="col-md-3"> <a href="/post/{{ $post->slug }}"> <img src="{{ Voyager::image( $post->image ) }}" style="width:100%"> <span>{{ $post->title }}</span> </a> </div> @endforeach </div> </div> </body> </html>
個々のページへのアクセス
routes/web.php
Route::get('post/{slug}', function($slug){ $post = App\Post::where('slug', '=', $slug)->firstOrFail(); return view('post', compact('post')); });
resources/views/post.blade.php
<!DOCTYPE html> <html> <head> <title>{{ $post->title }}</title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h1>{{ $post->title }}</h1> <img src="{{ Voyager::image( $post->image ) }}" style="width:100%"> <p>{!! $post->body !!}</p> </div> </div> </div> </body> </html>
php artisan make:model Pages
下記のコントローラが作成される
app/Pages.php
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Pages extends Model { // }
routes/web.php
Route::get('pages/{slug}', function($slug){ $pages = App\Pages::where('slug', '=', $slug)->firstOrFail(); return view('pages', compact('pages')); });
resources/views/pages.blade.php
<!DOCTYPE html> <html> <head> <title>{{ $pages->title }}</title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h1>{{ $pages->title }}</h1> <img src="{{ Voyager::image( $pages->image ) }}" style="width:100%"> <p>{!! $pages->body !!}</p> </div> </div> </div> </body> </html>