LoginSignup
0
1

More than 3 years have passed since last update.

Laravel 学習メモ

Last updated at Posted at 2021-02-20

関数など

{{ 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のlocalenになっていて、これは
resources/lang/enのバリデーション使用しているという意味。
resources/lang/jaのディレクトリを作成して、その中に日本語に変更しているファイルを作成して、localjaに変更することで日本語のバリデーションに変更される。

リレーション

マイグレーションファイルの編集の段階

$table->bigInteger('user_id')->unsigned();
$table->foreign('外部キー')->references('主キー')->on('主キーのテーブル名')>onDelete('cascade');

まず、foreignキーを使用するには、
子キーとなるものには必ず、unsigned()が必要で、
また型は、bigIntegerを指定する。

foreign : 外部キーを設定する
references : 主キーを指定(別のテーブルの)
on : 主キーのあるテーブルを指定
onDelete : 主キーが削除されたら自動的に関連したレコードも削除される指定

blongsTo()で他のテーブルのレコードを引っ張り出す

主テーブル:category ローカルキー:id
従テーブル:posts 外部キー:category_id

Post.php(モデル)
//Categoryモデルと結びつける
//関数名は必ず結びつける先のモデル名にすること
public function category(){
        return $this->belongsTo('\App\Category');
    }
PostController.php(コントローラー)
//index()の中に追加する
        $posts->load('category');
index.blade.php(ビュー)
//$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();

フラッシュメッセージ

controller
return redirect('/')->with('flash_message', '投稿が完了しました');
blade
 <!-- フラッシュメッセージ -->
@if (session('flash_message'))
    <div class="flash_message">
        {{ session('flash_message') }}
    </div>
@endif
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1