関数など
{{ route('ルートの名前') }}
web.phpを参照して、該当のルートに繋げる。
route('ルートの名前', $post->id)
とすると、
そのルート先のControllerに引数が渡される。
{{ asset('cssやイメージ') }}
publicを参照して、そこをドキュメントルートとして該当のファイルを読み込む。
例えば、public/css/layout.cssというファイルを読み込む際には、
{{ asset('css/layout.css') }}
という記載にする。
store('public/image')
画像を保存する際に用いられることが多い。
storage/app
を参照して、引数のディレクトリにファイルが保存される。
なお、public/image
はこの関数を実行することで自動で作成される。
with('key', 'value')
別のリンクへリダイレクトを行う際に、
return redirect('/')->with('flash_message', '投稿が完了しました');
と記載するとリダイレクトされるとともに、セッションデータを作成してくれる。
第一引数がセッションのキーで、第二引数がそのキーの値となる。
各設定
バリデーションを日本語に変更する
confing/app.phpのlocal
がen
になっていて、これは
resources/lang/en
のバリデーション使用しているという意味。
resources/lang/ja
のディレクトリを作成して、その中に日本語に変更しているファイルを作成して、local
をja
に変更することで日本語のバリデーションに変更される。
リレーション
マイグレーションファイルの編集の段階
$table->bigInteger('user_id')->unsigned();
$table->foreign('外部キー')->references('主キー')->on('主キーのテーブル名')–>onDelete('cascade');
まず、foreignキーを使用するには、
子キーとなるものには必ず、unsigned()
が必要で、
また型は、bigInteger
を指定する。
foreign
: 外部キーを設定する
references
: 主キーを指定(別のテーブルの)
on
: 主キーのあるテーブルを指定
onDelete
: 主キーが削除されたら自動的に関連したレコードも削除される指定
blongsTo()で他のテーブルのレコードを引っ張り出す
主テーブル:category ローカルキー:id
従テーブル:posts 外部キー:category_id
//Categoryモデルと結びつける
//関数名は必ず結びつける先のモデル名にすること
public function category(){
return $this->belongsTo('\App\Category');
}
//index()の中に追加する
$posts->load('category');
//$postからさきほど作成したcategoryメソッドでその中のcategory_nameを取り出している
{{ $post->category->category_name }}
Authのバリデーションを日本語にする
プロジェクト直下でコマンドを打つ
php -r "copy('https://readouble.com/laravel/5.8/ja/install-ja-lang-files.php', 'install-ja-lang.php');"
php -f install-ja-lang.php
php -r "unlink('install-ja-lang.php');"
これでOK
別のコントローラのメソッドを使用する
$home_controller = app()->make('App\Http\Controllers\HomeController');
$deliveries = $home_controller->show_reserve_delivery();
$items = $home_controller->show_reserve_item();
フラッシュメッセージ
return redirect('/')->with('flash_message', '投稿が完了しました');
<!-- フラッシュメッセージ -->
@if (session('flash_message'))
<div class="flash_message">
{{ session('flash_message') }}
</div>
@endif