У меня сводная таблица users_operators. Я хочу захватить operator_id пользователя.Laravel получить данные из сводной таблицы
Вот как я это делаю сейчас, но это кажется многословным.
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');
}
}
Im получение неопределенного свойства $ operator_id, когда я это делаю. $ user = Пользователь :: find (57); dd ($ user-> operator-> operator_id); –
Вместо этого попробуйте '$ user-> operator> id'. Вам не нужен префикс 'operator_', поскольку вы ссылаетесь на модель оператора, а не на сводную таблицу. – jakeharris
Неопределенное свойство: Illuminate \ Database \ Eloquent \ Collection :: $ id –