0

http://component-creator.comによって作成されたカスタム joomla MVC コンポーネントがあり、4 つのテーブルがあります。

#__mycomponent_items    27 Fields   
#__mycomponent_bids         12 Fields   
#__mycomponent_journeys     9 Fields    
#__mycomponent_users    8 Fields

これらのテーブル間の関係を設定しようとしていますが、ドキュメントと経験がないため苦労しています。

テーブル間の基本的な関係は、ユーザーがアイテムを配送するために入札できるようにする必要があります。

だから私はこのようなアイテムのフィールドを作成しました:

#__mycomponent_items       
id
created
updated
ordering
state
checked_out
checked_out_time
created_by
deliverydestination
itemtitle
status
requiredby
listprice
deliveredprice
commission
points_reward
accepted_bid
accepted_bidder
accepted_journey

そして、このような入札の場合:

#__mycomponent_bids
id
state
created_by
item_id
buyer
bid
created
updated
bid_status
bid_expires
journey
arrival_date

私は templates/mytemplate/html/com_mycomponent/item/default.php で作業しており、そのアイテムの現在の入札のリストをそのビューに追加しようとしています。そのためには、カスタム関数を /components/com_mycomponent/models/item.php に追加する必要があると想定しています。作成した関数は次のとおりです。

function itemBids() {
        // Get a db connection.
        $db = JFactory::getDbo();

        // Create a new query object.
        $query = $db->getQuery(true);

        // Select item record matching the $orderID
        $query
            //->select('*')
            ->select($db->quoteName(array('id', 'created_by', 'created', 'bid', 'bid_status', 'arrival_date')))
            ->from($db->quoteName('#__mycomponent_bids'))
            ->where('item_id = item.id');            
        // Reset the query using our newly populated query object.

        // Load the results as a list of stdClass objects (see later for more options on retrieving data).
        $db->setQuery($query);
        $itemBids = $db->loadObjectList();
        //print_r($itemBids);
}

ビュー /mytemplate/html/com_mycomponent/item/default.php のデータにアクセスするにはどうすればよいですか?

私はこれを試しましたが、何も返しません:

<ul>
          <?php foreach ($itemBids as $itemBid) :?>
         <?php $arrivalDate = $itemBid->arrival_date; ?>
          <li><strong><?php echo $itemBid->created_by; ?></strong> <small>can deliver for</small> $<?php echo $itemBid->bid;?> <small>
          <?php /*?><abbr class="timeago" title="<?php echo $itemBid->created; ?>"></abbr><?php */?>
          in <strong><abbr class="timeago" title="<?php echo $arrivalDate; ?>"></abbr></strong></small><div class="uk-badge uk-float-right"><?php echo $itemBid->bid_status; ?></div></li>
          <?php endforeach; ?>
        </ul>
4

2 に答える 2