CakePHP 3 — Модель — Доступ к данным из третьего уровня массиваPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 CakePHP 3 — Модель — Доступ к данным из третьего уровня массива

Сообщение Anonymous »

CakePHP 3
Моя модель
  • Пользователи имеют много значков
  • Значки имеют много значков
  • Значки принадлежат заголовкам
  • Значки принадлежат пользователям
В моем представлении пользователей я хочу получить доступ значение заголовков, но я не знаю, как это сделать.
Контроллер пользователей
public function view($id = null)
{
$this->viewBuilder()->layout('admin');
TableRegistry::get('Users');
$user = $this->Users->get($id, [
'contain' => ['Badges', 'Projects', 'Reports', 'Rewards']
]);
$this->set(compact('user'));
$this->set('_serialize', ['user']);
}


UsersTable.php
$this->hasMany('Badges', [
'foreignKey' => 'user_id'
]);

TitleTable.php
$this->belongsTo('Users', [
'foreignKey' => 'user_id',
'joinType' => 'INNER'
]);
$this->belongsTo('Titles', [
'foreignKey' => 'title_id',
'joinType' => 'INNER'
]);

BadgesTable.php
$this->hasMany('Badges', [
'foreignKey' => 'title_id'
]);

App\Model\Entity\User Object
(
[id] => 1
[firstname] => Jl
[lastname] => C
[email] => m
[username] => admin
[password] =>
[profile_pic] => /img/noimage.jpg
[report_count] => 0
[role] => admin
[reputation] => 999999
[account_status] => Active
[confirmation] => 1
[site_name] => C
[site_email] => mi
[created] => Cake\I18n\FrozenTime Object
(
[time] => 2017-02-27T13:46:51+08:00
[timezone] => Asia/Manila
[fixedNowTime] =>
)

[modified] => Cake\I18n\FrozenTime Object
(
[time] => 2017-03-01T10:37:50+08:00
[timezone] => Asia/Manila
[fixedNowTime] =>
)

[badges] => Array
(
[0] => App\Model\Entity\Badge Object
(
[id] => 1
[user_id] => 1
[title_id] => 11
[created] => Cake\I18n\FrozenTime Object
(
[time] => 2017-02-28T15:16:08+08:00
[timezone] => Asia/Manila
[fixedNowTime] =>
)

[modified] => Cake\I18n\FrozenTime Object
(
[time] => 2017-02-28T15:16:08+08:00
[timezone] => Asia/Manila
[fixedNowTime] =>
)

[[new]] =>
[[accessible]] => Array
(
[*] => 1
)

[[dirty]] => Array
(
)

[[original]] => Array
(
)

[[virtual]] => Array
(
)

[[errors]] => Array
(
)

[[invalid]] => Array
(
)

[[repository]] => Badges
)
)

[[new]] =>
[[accessible]] => Array
(
[*] => 1
)

[[repository]] => Users
)

Я хочу получить данные из таблицы заголовков (т. е. имени)
[badges] => Array
(
[0] => App\Model\Entity\Badge Object
(
[id] => 1
[user_id] => 1
[title_id] => 11
[created] => Cake\I18n\FrozenTime Object


Подробнее здесь: https://stackoverflow.com/questions/425 ... r-of-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»