モデルの処理はインスタンスで呼出します
MVCの概念として、長尺になりやすいデータベースの操作コードは
モデルに記述し、コントローラーに呼び出すのがお作法です
記述したコードはコントローラーでインスタンス化し
変数に代入することで中身の関数を利用できます。
インスタンスとは何?
インスタンス化とは、設計図(クラス)を具現化したものを指します。
実際のコードはModelに存在するため、コントローラーで利用するためには
具現化する必要があります。
具現化するには任意の変数名に代入するだけでよいため
中身の関数を利用するためには、アロー関数(->)で中身を指定します
modelファイル
class モデル名 extends Model
{
public function 任意の関数名($引数名){
// データベースを操作するコードを記述します
}
}
// 実際に記述した場合の例
class Tests extends Model
{
public test_index ($request){
/* テーブルから全てのレコードを取得する */
$tests = Tests::query();
}
}
controllerファイル
use App\利用するモデル名;
public function アクション名(Request $request)
{
/* インスタンス呼び出し */
$任意の変数名1 = new モデル名();
$任意の変数名2= $任意の変数名1->モデル内の関数名($引数名);
}
// 実際に記述する場合の例
use App\Tests;
public function index(Request $request)
{
/* インスタンス呼び出し */
$test = new Tests();
$test_index = $test->test_index($request);
return view('test.index', ['test_value' => $test_value]);
}