CakePHP:尝试显示数据时$ belongsTo关系的索引无效

I have a feature on my site that records the change histories of various fields. The user's ID, the document ID, the date of the change, information changed, etc. are all recorded.

Here is the code that works. Model "Noncon" hasMany "History":

public $hasMany = array(
   'History' => array(
  'className' => 'History',
  'foreignKey' => 'noncon_id',
  'dependent' => false,
  'order' => 'date DESC',
)

Foreign key noncon_id points to "id" in the Noncon model.

Model "History" belongsTo "Noncon":

public $belongsTo = array(
    'Noncon' => array(
        'className' => 'Noncon',
        'foreignKey' => 'noncon_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'HistoryUser' => array(
        'className' => 'User',
        'foreignKey' => 'user',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    )

HistoryUser is joined to the User model. HistoryUser.user = User.id.

The view:

foreach ($data['History'] as $history):
<td><?php echo $history['date']; ?></td>
<td><?php echo $history['HistoryUser']['full_name']; ?></td>
endforeach; 

Output looks like this:

02/09/2017 07:58:40 AM  John Doe    
From: 2017-02-01    
To: 2017-02-09

THE PROBLEM:

When I try to do this exact same thing in another part of my site, I get:

02/09/2017 07:58:40 AM  Undefined index: HistoryUser [APP/View/Msrs/view.ctp, line 309]    
From: 2017-02-01    
To: 2017-02-09

Again, the view:

foreach ($data['MsrHistory'] as $history):
<td><?php echo $history['date']; ?></td>
<td><?php echo $history['HistoryUser']['full_name']; ?></td>
endforeach; 

The HistoryUser's full name does not appear. Instead, I get an undefined index error. Here is the code for the implementation I'm trying to get to work:

Model "Msr" hasMany "MsrHistory":

public $hasMany = array(
   'MsrHistory' => array(
  'className' => 'MsrHistory',
  'foreignKey' => 'msr_id',
  'dependent' => false,
  'order' => 'date DESC',
)

Foreign key msr_id points to id in the Msr model.

Model "MsrHistory" belongsTo "Msr":

public $belongsTo = array(
   'Msr' => array(
        'className' => 'Msr',
        'foreignKey' => 'msr_id',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),
    'HistoryUser' => array(
        'className' => 'User',
        'foreignKey' => 'user',
        'conditions' => '',
        'fields' => '',
        'order' => ''
    ),

Also when I debug the $history variable for my Noncon view, I can see that the tables are all joined. I get the following output:

[id] => 63838
[noncon_id] => 3221
[type] => Nonconformance
[date] => 2017-02-09 07:58:40
[user] => 75
[status] => startdate
[created] => 2017-02-09 07:58:40
[modified] => 2017-02-09 07:58:40
[from] => 
[to] => 2017-02-09
[created_user_id] => 75
[modified_user_id] => 75
[Noncon] => Array
  (all of the Noncon fields)

[HistoryUser] => Array
  (
        [id] => 75
        [group_id] => 1
        [username] => Jness
        [password] => d97ab2b5634dddf01a21adfb25da7c380327fb46
        [auth_key] => 370e2934cc8ca7280e341347d99fdf3b
        [first_name] => James
        [last_name] => Ness
        [full_name] => John Doe
        [email_address] => john.doe@someplace.org
        [login_attempts] => 0
        [customer] => 0
        [suspended] => 0
        [created] => 2012-08-07 06:55:58
        [created_user_id] => 12
        [modified] => 2017-02-14 14:59:50
        [modified_user_id] => 75
        [deleted_record] => 0
        [deleted_user_id] => 0
        [deleted] => 0000-00-00 00:00:00
        [dept_id] => 1
        [sponsor_id] => 5
        [is_manager] => 0
        [ce_sig_auth] => 0
        [is_logistics] => 
        [is_budget] => 
    )

But when I debug the $history variable in my Msr view, I only get:

  Array
(
    [id] => 1
    [msr_id] => 5
    [type] => Msr
    [date] => 2017-03-31 12:44:30
    [user] => 117
    [status] => need_date
    [created] => 2017-03-31 12:44:30
    [modified] => 2017-03-31 12:44:30
    [from] => 2017-04-25
    [to] => 2017-04-04
    [created_user_id] => 117
    [modified_user_id] => 117
 )

Neither the MSR fields nor the HistoryUser fields show up. What gives? I can confirm that all of the data is being written to the database correctly. But I can't get my HistoryUser's full name to display. Is there something hinky with my joins?