いつもお世話になっております。
お手本コードでは、tinker にて、モデルの Post
において
クラスメソッド find
を使用して抽出した結果を
$post4
の変数に代入しています。
$post4 = App\Models\Post::find(4);
$post4-> title = 'Title updated';
そうすると $post4
にはインスタンスが代入されたことになるので、
このインスタンスプロパティにアクセス可能となり、
$post4-> title = 'Title updated';
として値を書き換えているという理解です。
ここで、クラスメソッド find
を使用して抽出した結果が
どういった過程を経てインスタンスとなっているのか理解することができませんでした。
私の頭の中では #06 Tinkerでデータを操作してみよう で見たように、
まずはモデルの Post
クラスを new
することでインスタンスを作成し、
その 4 番目の要素の title
というインスタンスプロパティを更新するといったイメージがあるので
すごく不思議に思ってしまうわけです...。
うまく実行こそできませんでしたが、
下記のように処理するような意識が働いてしまいます。
$post = new App\Models\Post();
$post[3]->title = 'Title updated';
従って new
を使わず、クラスメソッド find
を使用して抽出した結果が
どういった過程を経てインスタンスとなっているのか教えて頂きたいです。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?