Laravel получает данные из сводной таблицы

У меня сводная таблица 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'); }
}
1 ответ

Я, сражаясь с бессонницей и не $user->operator->id на 100%, но вы должны уйти с $user->operator->id на основе того, что я интерпретирую ваши модели (похоже, у вас была опечатка когда вы скопировали их в вопрос).

Если это не сработает, вы можете ознакомиться с разделом "Динамические свойства" в документах Eloquent для получения дополнительной информации, если вы этого еще не сделали.

licensed under cc by-sa 3.0 with attribution.