У меня сводная таблица users_operators. Я хочу захватить operator_id пользователя.
Вот как я это делаю сейчас, но это кажется многословным.
if (Auth::user()->type === 'operator') {
$user = Auth::user();
// There is a better way to do this?
$operator_id = $user->operator[0]['pivot']['operator_id'];
Session::put('operatorId', $operator_id);
}
class Operator extends \Eloquent
{
public function users() {
return $this->belongsToMany('User');
}
}
class User extends \Eloquent
{
public function operator() {
return $this->belongsToMany('Operator');
}
}
Я, сражаясь с бессонницей и не $user->operator->id
на 100%, но вы должны уйти с $user->operator->id
на основе того, что я интерпретирую ваши модели (похоже, у вас была опечатка когда вы скопировали их в вопрос).
Если это не сработает, вы можете ознакомиться с разделом "Динамические свойства" в документах Eloquent для получения дополнительной информации, если вы этого еще не сделали.
$user->operator>id
. Вам не нужен префиксoperator_
поскольку вы ссылаетесь на модель Operator, а не сводную таблицу.