Получить данные из сводной таблицы после сохранения в Laravel 5.7 - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть две модели User и Role

User:

public function roles() {
   $this->belongsToMany(Role::class)->withPivot('note'); 
}

Role:

public function users() {
   $this->belongsToMany(User::class); 
}

Когда я добавляю другуюроль для пользователя:

$role = $user->roles()->save($some_role, ['note' => 'my note']);

Я хотел бы получить доступ к сводному идентификатору для роли, которую я только что сохранил, следующим образом:

$role->pivot; //null 

Что я делаю неправильно?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Вы можете получить доступ к элементам сводной таблицы через связанную модель.

в вашем примере это будет

echo $user->roles()->find($some_role->id)->pivot('note');
//-> my note

, не зная, как структурированы ваши таблицы, я не могу помочь в дальнейшемчем пригласить вас использовать php artisan tinker

0 голосов
/ 20 ноября 2018

Сводка недоступна на $role, поскольку она не является role объектом.Он должен быть доступен на $some_role.Попробуйте это:

$some_role->pivot;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...