クリーンアーキテクチャだと$itemIdがintではなく、
ItemIdクラスみたいな値オブジェクト(ValueObject)になっている。
例えば、検索クエリに指定したいときはこんな感じに書く。
Item::where('item_id', $itemId->itemId)->get();
では、$itemIdListのときは、、
$itemIdValueList = [];
foreach ($itemIdList as $itemId) {
$itemIdValueList[] = $itemId->itemId;
}
Item::whereIn('item_id', $itemIdValueList)->get();
こんな感じで書いていた。
もっと簡潔に書ける。
$itemIdValueList = array_column($itemIdList, 'itemId');
Item::whereIn('item_id', $itemIdValueList)->get();
ちなみにEnumだとこう。
$itemTypeValueList = array_column($itemTypeList, 'value');