raining返信Laravelのルーティングでは「Route::resource」で指定することがあります。「Route::resource」を指定するとCRUDのルーティングを1つの定義で行うことが可能になります。一つ一つルーティングの指定を書いてもいいのですが、場合によっては「Route::resource」で指定した方がソースコードもスッキリし、可読性が上がるかもしれません。不要なメソッドもあると思うので、その場合は「only」と「except」を使用し、不要なルーティングを制限することができます。今回は「Route::resource」を使用した時の「only」と「except」の使用方法についてメモします。Route::resourceの使い方Laravelのルーティングの指定は「routes」ディレクトリ内のファイルに記載します。※下記が例として「routes/web.php」に書いてる場合。'PhotoController');ルーティングの内容は下記のようになります。|+-----------+---------------------------+--------------------+------------+次のコマンドを実行すれば現在のルーティングを一覧で表示することができます。ターミナルからコンテナ内で下記を実行。route:list使わないメソッドに関してはメソッドを消しているとエラーが起きてしまうので、ルーティングを制限しておく必要があります。その際に「only」と「except」を使用します。「only」で指定した場合、記述したメソッドのみリクエストすることが可能になります。['index','show']]);上記の例では「index」と「show」のみ許可しています。「except」で指定した場合、記述したメソッド以外のリクエストが可能になります。除外したいメソッドを記述します。['edit','create']]);上記の例では「edit」と「create」以外のリクエストを許可している形になります。|+-----------+---------------------------+--------------------+------------+今回はLaravelのルーティングで「Route::resource」を使用した時の「only」と「except」の使用方法について記載しました。この辺りを理解しておくとルーティングの記述を綺麗にまとめることができると思います。method」のエラーが発生した時の対応方法をメモします。このエラーはstaticではないメソッドを呼び出すときに発生します。Laravelに限らずではありますが。method」エラーの説明と対応方法を記載します。実際のエラー内容としては、下記のようにエラーが出力されます。簡単にいえば「staticではないですよー」ってことですね。例で下記のようにコントローラーからモデルのメソッドを呼び出します。下記は「Hoge」モデルクラスの「getHoge」メソッドを呼び出しています。下記の場合はエラーになってしまいます。原因はfunctionに「static」が無いからです。}}なので「static」があればエラーにならず正常に動作します。上記のように「static」付ければ解決することはできますが、モデルを変更できない場合はコントローラー側で下記のように呼び出すとエラーとならずメソッドを呼び出すことができます。method」エラーを解消することができます。method」エラーが発生した時の対応方法について記載しました。以外と忘れてしまうことがあるのでメモします。raining返信Linuxのscpコマンドを使用して、ローカルとリモート間でファイルをコピー(転送)する使用方法をメモします。scpコマンドはsshでサーバと接続して使用します。FTPなどで接続できない状況などで、ファイルやディレクトリを取得したい場合に活用できます。下記にscpコマンドの説明と使用方法をメモします。「scp」コマンドリモートとローカルや、リモート間でファイルをコピーします。scpコマンドを使用する際は下記の書式で記載。オプションを付けることで、ディレクトリも転送することが可能です。[コピー先]リモート(サーバ)へファイルをコピーする「hoge.txt」をリモートの「/home/user/hoge」にコピーする場合です。リモート側はSSHで接続するためのユーザー名とホスト名を記載します。user@example.com:/home/user/dirリモート(サーバ)からファイルをコピーするリモートの「/home/user/dir/hoge.txt」ファイルをローカルの「~/tmp」にコピーする場合です。~/tmpオプションを指定してディレクトリをコピーするリモートへコピーする場合です。「-r」オプションを使用すればディレクトリをコピーすることができます。user@example.com:/home/user/dirローカルにある「tmp」ディレクトリをリモートにコピーします。scpコマンドは今まであまり使用していなかったのですが、結構使う機会が増えてきたので、scpコマンドの基本的な使用方法についてメモしました。サーバとのデータ転送をしたい場合など、とても便利な機能です。