# Print hasOne data

**URL:** <https://discourse.cakephp.org/t/print-hasone-data/10756>\
**Category:** Need Help\
**Tags:** help\
**Created:** [November 13, 2022, 9:35am UTC](https://discourse.cakephp.org/t/print-hasone-data/10756 "2022-11-13T09:35:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![vijay\_n](https://avatars.discourse-cdn.com/v4/letter/v/c89c15/32.png) [@vijay\_n](https://discourse.cakephp.org/u/vijay_n)\
**Post date:** [November 13, 2022, 9:35am UTC](https://discourse.cakephp.org/t/print-hasone-data/10756/1 "2022-11-13T09:35:08Z")

</div>

[**Warning** (2)](javascript:void(0);): Attempt to read property “mobile” on null [in **/srv/canteen1/app/templates/Users/index.php** , line **29**]  
error comes on list users  
index.php is

 \<?= $this-\>Paginator-\>sort('id') ?\> \<?= $this-\>Paginator-\>sort('username') ?\> \<?= $this-\>Paginator-\>sort('email') ?\> Mobile \<?= $this-\>Paginator-\>sort('created') ?\> \<?= $this-\>Paginator-\>sort('modified') ?\> \<?= \_\_('Actions') ?\> \<?php foreach ($users as $user): ?\> \<?= $this-\>Number-\>format($user-\>id) ?\> \<?= h($user-\>username) ?\> \<?= h($user-\>email) ?\> \<?= h($user-\>contact-\>mobile) ?\>\> \<?= h($user-\>created) ?\> \<?= h($user-\>modified) ?\> \<?= $this-\>Html-\>link(\_\_('View'), ['action' =\> 'view', $user-\>id]) ?\> \<?= $this-\>Html-\>link(\_\_('Edit'), ['action' =\> 'edit', $user-\>id]) ?\> \<?= $this-\>Form-\>postLink(\_\_('Delete'), ['action' =\> 'delete', $user-\>id], ['confirm' =\> \_\_('Are you sure you want to delete # {0}?', $user-\>id)]) ?\> 

user.php in model is

protected $\_accessible = [  
‘username’ =\> true,  
‘email’ =\> true,  
‘password’ =\> true,  
‘created’ =\> true,  
‘modified’ =\> true,  
‘contact’ =\> true,  
‘skills’ =\> true,  
];

usertable.php in model is

```
 */
public function initialize(array $config): void
{
    parent::initialize($config);

    $this->setTable('users');
    $this->setDisplayField('id');
    $this->setPrimaryKey('id');

    $this->addBehavior('Timestamp');
    $this->hasOne('Contacts');/* 
    $this->hasMany('Contacts', [
        'foreignKey' => 'user_id',
    ]); */
    $this->hasMany('Skills');
}

/**

```

userscontroller.php is

public function index()  
{  
$users = $this-\>paginate($this-\>Users);

```
    $this->set(compact('users'));
}

/**
 * View method
 *
 * @param string|null $id User id.
 * @return \Cake\Http\Response|null|void Renders view
 * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
 */
public function view($id = null)
{
    $user = $this->Users->get($id, ['contain' => ['Contacts']]);

    $this->set(compact('user'));
    
}

```

---

<div class="post-metadata">

**Author:** ![vijay\_n](https://avatars.discourse-cdn.com/v4/letter/v/c89c15/32.png) [@vijay\_n](https://discourse.cakephp.org/u/vijay_n)\
**Post date:** [November 13, 2022, 10:08am UTC](https://discourse.cakephp.org/t/print-hasone-data/10756/2 "2022-11-13T10:08:34Z")

</div>

found the problem  
contain is to added in index function rather than view function
