関数 getRooms() でブロックを作成しました。この関数は、2 つのテーブルに対して joinLeft クエリを作成し、アイテム コレクションを返します。実際には、グループ、合計、およびその他の可算フィールドがあるため、最初の部屋のコレクションではありません。
phtml テンプレートでこれらのコレクションをレンダリングし、各項目をチェックして関数を呼び出す必要があります。
例えば:
<?php $rooms = $this->getRooms();
foreach ($rooms as $room) : ?>
<?php if ( $this->isAvailable($room) ) : ?>
<!-- some html here -->
isAvailable 関数は $room 値で機能するため、次のように呼び出す必要があると感じています
$room->isAvailable();
それ以外の
$this->isAvailable($room)
この場合、isAvailable() はモデルにある必要があります。しかし、どのモデルですか?上で述べたように、私のクエリは 2 つのテーブルの結合です。では、どのモデルを使用する必要がありますか?たぶん、Magento は (1 つのテーブルではなく) テーブルの結合に基づいてモデルを作成する可能性がありますか?