お世話になっております。
当方Laravel5.5にてWebSiteを構築しております、
環境はmac OS Mojave10.14.2
ブラウザはGoogle Chrome バージョン: 71.0.3578.98になります。
悩んでいること
データベース上のレコードを複数取得して、
あるカラムの値を別の値に、例えば
idを文字列に変換する際(※)、
データの取得をControllerからモデルを呼び出して、
変換をサービス上のメソッドで行うとすると、
下記のどちらで実装するのがベストなのか迷っています。
※本件はEloquentでデータベースから値を取得する際に
joinや条件設定で設定できない値に変換したい場合
(データベース上に変換後の値がなく自分で生成したい場合)を指します。
下記取得したデータベースの値を$data
変換メソッドをconvert()とします
①変換メソッドをforeachする
php
1//foreachしてレコードごとにメソッドを呼び出す 2foreach($data as $key => $val){ 3 $this->CaseService->convert($val)}
②変換メソッドの中でforeachする
php
1$data_converted = $this->CaseService->convert($data) 2//convertの中でforeachしてデータレコードを変換する
考えていること
メソッドを毎度呼び出すのは処理速度が遅くなると思う一方で、
メソッドは他の箇所でも使用したいため、シンプルに
データを変換するだけ
(foreachを記載すると、渡すデータが1件の場合などの分岐を書く必要がある)
にしたいという思いもあります。
どちらで処理することが一般的なのでしょうか?
全て処理を書き換えて処理速度など比較して自分で確かめる事もできなくはないのですが、
初心者では配慮が抜ける部分もあるかと存じますので、
知見のある皆さまからのご意見をお聞きしたいです。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー