Laravel 5.2で多態性を扱っています。私はモデル文字列の名前を設定したい。そこSIコード:Laravel:文字列をモデルの名前に設定します
switch ($passport->element_type) {
case 'Window':
$windows = Window::find($passport->element_id);
break;
case 'Floor':
$floor = Floor::find($passport->element_id);
break;
case 'Wall':
$wall = Wall::find($passport->element_id);
default:
break;
}
};
あなたは、その変数を参照することができ、「$ passport-> ELEMENT_TYPEは」私に私のモデルの名前を与えます。私はスイッチケースでそれをやりたいとは思わない。
$ passport-> element_type :: find($ passport-> element_id);次のようなことが可能ですか?
または変数(element_type)をモデルの名前として使用するにはどうすればよいですか?
どのバージョンのPHPを使用していますか? –
https://adamwathan.me/2015/09/03/pushing-polymorphism-to-the-database/ Adam Wathanはこの井戸に対する解決策について説明しています。私は答えにする時間がないので、私はちょうどここにリンクをドロップします。 –